我们团队最近开发了一个 derby 数据库的 web 项目,然后发现了一些错误:'length' 运算符不允许取 ? 参数作为操作数。
这是我的代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class test {
public static void main(String[] args) {
try {
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();//加载驱动
Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/mydb","user","123456");
String sql = "select * from TB_SYS_MODULE where length(?) > 5";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, "fudengok");
ResultSet rs = ps.executeQuery();
while(rs.next()) {
System.out.println("MODULE_ID:"+rs.getString(1)+"-----MODULE_NAME:"+rs.getString(2));
}
} catch(Exception e){
e.printStackTrace();
}
}
}
我搜索了官方文档,LENGTH() 函数允许动态参数在此处输入链接描述。所以寻求帮助!