gpt4 book ai didi

java - PreparedStatement 中的参数验证

转载 作者:行者123 更新时间:2023-12-01 15:45:07 30 4
gpt4 key购买 nike

我正在开发一个使用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?

最佳答案

只需在java中检查即可。

if firstFieldValue.equals("") 

then SELECT FIELD1, FIELD2 FROM MYTABLE

else

SELECT FIELD1, FIELD2 FROM MYTABLE WHERE (FIELD1=? OR FIELD1='');

preparedStatementInstance.setString(1, this.firstFieldValue);

关于java - PreparedStatement 中的参数验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7202315/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com