java,如果变量“varConsult”的值在表“pessoajuridica”的“protocolo”列中,如何查询sql lite,

时间:2013-08-06 21:15:09

标签: java sql

我试过这个:

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

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

我期待着价值......

记住,sql lite和java:S

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

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

2 个答案:

答案 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吗?