public void Pesquisa()
{
String query = "SELECT * FROM tabela WHERE nome = 'adriano'" ;
// funciona
ou
String query = "SELECT * FROM tabela WHERE nome Like 'a*'";
// não funciona
String url = "jdbc:odbc:AgendaDados";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection (url, "", "");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
rs.close();
stmt.close();
con.close();
}
catch (SQLException ex)
{
System.out.println ("SQLException:");
while (ex != null)
{
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("Message: " + ex.getMessage());
System.out.println("Vendor: " + ex.getErrorCode());
ex = ex.getNextException();
}
}
catch (java.lang.Exception ex)
{
ex.printStackTrace();
}
} // fim void Pesquisa()
String query = "SELECT * FROM tabela WHERE nome = 'adriano'" ;
ResultSet rs = stmt.executeQuery(query);
funciona perfeitamente, o ResultSet recebe os dados relativos ao nome 'adriano', mas quando eu executo:
String query = "SELECT * FROM tabela WHERE nome Like 'a*'";
ResultSet rs = stmt.executeQuery(query);
não funciona e não retorna nenhum erro, não acontece nada, é como se o ResultSet recebesse o valor null. Eu queria que ResultSet recebesse todos os nomes começados com 'a' que estão no banco de dados.
Eu já testei esse comando no access e funciona. Quando se usa curingas (? ou *) no access, usa-se Like no lugar de igual. O que está dando errado então??? Se alguém puder me ajudar...
obrigado
[color="darkblue"]Editado por Tomaz Lavieri, Favor colocar o BBCode[/color]