我正在尝试使用 Java 函数和数据库中定义的另一个属性来查询数据库。该语句不会产生错误。但是,输出是错误的。输出的结果为空,但根据我的检查,它不为空。请问谁能告诉我我需要做什么?如何在SQl语句中使用JAVA函数?
expired_rows = dbMngr.runQuery(String.format("SELECT ID FROM Student WHERE 'System.currentTimeMillis()' - ArrivalTime > (%s) ", 5000));}
if (expired_rows == null) {
System.out.println("The number of expired row is " + expired_rows);
}
if (expired_rows != null) {
System.out.println("The number of expired row is " + expired_rows.length );
}
最佳答案
您无法按照您尝试的方式使用 java 函数。您只需将字符串“'System.currentTimeMillis()'
”传递给 dbms - 您想要传递评估该函数的结果
会
"SELECT ID FROM Student WHERE %l - ArrivalTime > (%s) ",System.currentTimeMillis(), 5000));}"
工作? (我不确定 String.format 的语法,也无法访问文档,但希望您能了解情况......)
一个更好的解决方案,但距离您已经完成的工作稍远,是使用 GriffeyDog 建议的PreparedStatement。
此外,如果没有生成错误,那么您的 dbMngr 类很可能会吞掉异常而不报告它们。
关于java - 在 JAVA Netbeans 中的 SQL 算术语句中使用变量/JAVA 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22465404/