Java + Firebird
opa, estou com alguns problemas para pegar dados do firebird no java, vejam o codigo como esta:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class FirebirdAccess {
public Connection con = null;
public Statement stm = null;
public ResultSet resultSet = null;
public void Conexao() {
try {
Class.forName("org.firebirdsql.jdbc.FBDriver");
con = DriverManager.getConnection("jdbc:firebirdsql:localhost/3050:/Users/paulo/teste.fdb","SYSDBA","123456");
stm = con.createStatement();
} catch (Exception e) {
System.out.println(e);
System.out.println("");
System.out.println("Não foi possível conectar ao banco: " + e.getMessage());
}
}
public void fetchAll(String query) {
try{
System.out.println("Exibindo resultados para a query: "+query);
Conexao();
resultSet = stm.executeQuery(query);
int j = 0;
while (resultSet.next()) {
System.out.println("entrei no while "+j+'x');
String label = "["+j+"]=>[";
for (int i = 1; i<= resultSet.getMetaData().getColumnCount(); i++){
label+=("["+resultSet.getMetaData().getColumnName(i)+"] => "+ resultSet.getString(resultSet.getMetaData().getColumnName(i))+" ");
}
label+= "]";
System.out.println(label);
j++;
}
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}
essa eh minha classe, eu dou um new nela na no main e passo para o metodo fetchAll a query.
Tenho duas tabelas, t1 e t2; Se eu der um fetchAll em t3, recebo uma exception falando que tal tabela nao existe, e ela nao existe mesmo. Mas se eu der um fetchAll(Select * FROM t1) o resultSet.next() retorna false logo de cara, mas tem dados la, nao faz sentido, eu uso exatamente o mesmo codigo com o mysql, so muda a o driver, nao sei o que esta errado.. nao entra no while nunca no firebird...
pelo que eu vi esta conectando na base, ele da o erro se eu der select na t3 mas nao da erro se eu der select na t1, porem nao recebo nada de volta...Discussão (2)
Carregando comentários...