【发布时间】:2011-08-26 08:59:14
【问题描述】:
我正在开发一个使用 PreparedStatement 的 java 应用程序。
SELECT FIELD1, FIELD2 FROM MYTABLE WHERE (FIELD1='firstFieldValue' OR FIELD1='' or 'firstFieldValue'='');
firstFieldValue 是一个参数。并且需要在SQL中检查它的值是否为空。
我使用以下参数化 SQL 创建了一个准备好的语句:
SELECT FIELD1, FIELD2 FROM MYTABLE WHERE (FIELD1=? OR FIELD1='' or ?='');
我设置的值如下:
preparedStatementInstance.setString(1, this.firstFieldValue);
preparedStatementInstance.setString(2, this.firstFieldValue);
这种方式行不通。执行失败。
我认为准备好的语句 SQL 是错误的。
对于这种情况,我该如何修复准备好的语句的 SQL?
【问题讨论】:
-
你能试试把“?”在右手边?
-
好点,我现在去看看,谢谢
-
这种方式行不通,不过谢谢。