有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

PreparedStatement中的java参数验证

我正在开发一个利用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 for prepared语句


共 (1) 个答案

  1. # 1 楼答案

    在执行sql时没有“我认为它是错误的”,要么它是正确的,它执行查询,要么sql是错误的,你会得到一个sqlexception

    如果失败了,你应该向论坛提供stacktrace,这样我们就不必读了

    “空”是什么意思? 在数据库中作为空字符串或null为空