0

我试过这个:

ResultSet existetabela = stm.executeQuery ("SELECT * FROM pessoajuridica WHERE protocolo ="  + varConsult ); 
System.out.println(existetabela);

但它只返回一个奇怪的字符串-> org.sqlite.RS@1f959518

我期待的价值..

记住,sql lite 和 java :S

我想用它返回的值来比较,如果它返回任何值,就意味着它存在,所以它不会添加到sql中,如果不返回任何东西=可以添加!!!

(“如果存在”对我不起作用,表示它在 sql 命令行中的参数无效--')

4

2 回答 2

4

您可以使用ResultSet#next()方法来测试是否有任何结果集返回:

if (existetabela.next()) {
    // Result was fetched
    // Assuming type of protocol is String (Can be anything)
    String protocol = existetabela.getString("protocolo");

} else {
    // No result
}

现在,让我们继续讨论主要问题。您应该使用PreparedStatement, 来避免SQL 注入

于 2013-08-06T21:18:26.517 回答
1

您需要在结果集中进行迭代以检索找到的实际数据:

while (existetabela.next()){
 System.out.println(existetabela.getObject("protocolo"));
}

你看过PreparedStatement吗?

于 2013-08-06T21:18:09.307 回答