簡體   English   中英

將查詢中的 BIT 作為 Prepared Statement 中的參數傳遞

[英]Passing BIT in query as a parameter in Prepared Statement

我想傳遞一點作為 Prepared Statement 中的參數之一。 我的查詢應該是這樣的:

query = select * from tbl_security_details('user',O::BIT)

我將查詢構造為:

query = select * from tbl_security_details(?,?)
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1,"user")
ps.setString(2,"0::BIT")

但是,這會引發錯誤。

有人可以解釋我如何從准備語句中傳遞 0::BIT 而不用它自己附加單引號並轉換為字符串嗎?

編寫准備好的語句,以便強制轉換成為查詢的一部分:

String query = "select * from tbl_security_details(?, ?::bit)";
java.sql.PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1, "user");
ps.setString(2, "0");

這是必要的,因為您只能將常量值傳遞給准備好的語句,而不是 SQL 表達式。

暫無
暫無

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

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