有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我试着这样做:

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

但它只返回一个奇怪的字符串->;组织。sqlite。RS@1f959518

我在期待这个价值

记住,SQLLite和java:S

我想使用它返回的值进行比较,如果它返回任何值,意味着它存在,因此它不会添加到sql,如果不返回任何值=可以添加

(“if exist”不适用于我,表示它在sql命令行--'中是无效参数)


共 (2) 个答案

  1. # 1 楼答案

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

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

    你看过PreparedStatement

  2. # 2 楼答案

    您可以使用^{}方法测试是否返回了任何结果集:

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

    现在,让我们继续讨论主要问题。您应该使用^{},以使自己免于SQL Injection