[英]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.