我们团队最近开发了一个 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() 函数允许动态参数在此处输入链接描述。所以寻求帮助!