Problemas com select no banco

6 respostas
henry.everton

Estou com duas dúvidas na verdade quanto a banco de dados.

1 = Eu tenho um banco feito em access e estou tentando fazer alguns comandos para adicionar registro e tal. Bom, eu consegui sim adicionar registros e tudo mais, agora o grande problema é que nao consegui fazer um select no banco, ele esta me apresentando este erro:

Exception in thread “main” java.sql.SQLException: No row count was produced

O que pode ser isso?

2 = Eu instalei o mysql em meu micro e ja configurei, como faço agora para selecionar o meu banco de drive mysql? Tipo preciso instalar qual drive no ODBC do Windows?

Desde já agradeço!!!

6 Respostas

Luiz-SP

henry.everton:
Estou com duas dúvidas na verdade quanto a banco de dados.

1 = Eu tenho um banco feito em access e estou tentando fazer alguns comandos para adicionar registro e tal. Bom, eu consegui sim adicionar registros e tudo mais, agora o grande problema é que nao consegui fazer um select no banco, ele esta me apresentando este erro:

Exception in thread “main” java.sql.SQLException: No row count was produced

O que pode ser isso?

2 = Eu instalei o mysql em meu micro e ja configurei, como faço agora para selecionar o meu banco de drive mysql? Tipo preciso instalar qual drive no ODBC do Windows?

Desde já agradeço!!!

1-Seu select, parece que não retornou nada, estranho, post o código.

2-Não precisa instalar o drive ODBC como vc fez pro access, com mysql vc pega o driver (um arquivo jar) e coloca ele no classpath do projeto, só isso :wink:

henry.everton
1 = Ai está o código:
import java.sql.*;
import java.io.*;

public class JdbcAccess {
	public static void main(String[] args) throws SQLException, IOException{
		System.out.println("Carregando o driver JDBC ODBC...");
		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		}
		catch(ClassNotFoundException e) {
			System.out.println("Não consigo carregar o driver...");
			e.printStackTrace();
			return;
		}
		System.out.println("Conectando-se ao banco de dados");
		Connection conn = DriverManager.getConnection("jdbc:odbc:henry","","");
		Statement stmt = conn.createStatement();
		//stmt.executeUpdate("insert into relação values('thais','2')");
		stmt.executeUpdate("SELECT * FROM Relação");
		stmt.close();
		conn.close();
	}
}

2 = Não entendi muito bem cara..... eu baixo o drive onde?

thickbarney

henry,

se vc ta fazendo um select, nao usa o executeUpdate.

vc usa ou o execute, ou executeQuery

o executeUpdate é para updates e deleções.

tenta ai e posta o resultado

a sua tablela Relação está populada ?

Luiz-SP

1-

import java.sql.*;
import java.io.*;  
    
public class JdbcAccess {  
    public static void main(String[] args) throws SQLException, IOException{  
         System.out.println("Carregando o driver JDBC ODBC...");  
         try {  
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
         }  
         catch(ClassNotFoundException e) {  
             System.out.println("Não consigo carregar o driver...");  
             e.printStackTrace();  
             return;  
         }  
         System.out.println("Conectando-se ao banco de dados");  
         Connection conn = DriverManager.getConnection("jdbc:odbc:henry","","");  
         Statement stmt = conn.createStatement();  
         //stmt.executeUpdate("insert into relação values('thais','2')");  
         ResultSet rs = stmt.executeQuery("SELECT * FROM Relação");  
         while(rs.next()){
           
              //Pega o valor da primeira coluna se ela for string
              String coluna_string = rs.getString(1);

                
              //Pega o valor da primeira coluna se ela for in
              int coluna_int = rs.getInt(1);

               //assim por diante
          
         }
         
         //Se abriu, feche, é uma questão de educação 
         rs.close();
         stmt.close();  
         conn.close();  
     }  
}

2- No site do mysql !!!

henry.everton

Cara só uma coisa, eu queria entender o porque do while cara…

eu vi que se vc nao usa o while ele nao funciona nem a pau.

Luiz-SP

henry.everton:
Cara só uma coisa, eu queria entender o porque do while cara…

eu vi que se vc nao usa o while ele nao funciona nem a pau.

não é o while, mas sim o método next() do ResultSet, se vc num dê next no ResultSet, ele não vai “ficar pronto para leitura” do primeiro conjunto resultados, (resultados de select), endendeu?

Criado 9 de novembro de 2007
Ultima resposta 10 de nov. de 2007
Respostas 6
Participantes 3