我试过这个:
ResultSet existetabela = stm.executeQuery ("SELECT * FROM pessoajuridica WHERE protocolo =" + varConsult );
System.out.println(existetabela);
但它只返回一个奇怪的字符串 - > org.sqlite.RS@1f959518
我期待着价值......
记住,sql lite和java:S
我想使用它返回的值来比较,如果它返回任何值,意味着它存在,所以它不会添加到sql,如果不返回任何东西=可以添加!!!
(“如果存在”对我不起作用,说它在sql命令行中是无效的参数 - ')
答案 0 :(得分: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 Injection。
答案 1 :(得分:1)
您需要在结果集内迭代以检索找到的实际数据:
while (existetabela.next()){
System.out.println(existetabela.getObject("protocolo"));
}
你看过PreparedStatement吗?