簡體   English   中英

准備好的聲明參數問題

[英]Prepared Statement Parameter Problems

我想要一個Java方法從我的Oracle 11g數據庫中提取記錄,但是我遇到了一些麻煩,因為我沒有收到任何記錄。 如果我通過取消注釋第4行並注釋第5行和第7行來對值進行硬編碼,則result將填充記錄。 沒有例外。 我錯過了什么?

    conn = DriverManager.getConnection(url,props);

    String sql = "select col1, col2, col3"
              + " from table1"
             // + " where user_id = 'user123'"; // line 4
              + " where user_id = ?"; // line 5

    PreparedStatement preStatement = conn.prepareStatement(sql);

    preStatement.setString(1, "user123"); // line 7

    ResultSet result = preStatement.executeQuery();

    while(result.next()) {
        System.out.println("works");
    }

在查詢中使用trim()函數..它可能與表的數據問題有關。

String sql = "select col1, col2, col3"
+ " from table1"
+ " where trim(user_id) = ?"; // line 5

在問號(?)符號后留空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM