1

私たちのチームは最近、ダービーデータベースを使用してWebプロジェクトを開発しましたが、いくつかのエラーが見つかりました。「長さ」演算子は?を取ることを許可されていません。オペランドとしてのパラメータ

これは私のコードです:


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()関数を使用すると、動的パラメーターでリンクの説明をここに入力できます。だから助けを求めて!

4

1 に答える 1

0

私は上手く理解できていない気がします。「fudengok」は TB_SYS_MODULE テーブルの列の名前ですか?

もしそうなら、なぜ使用しないのですか:

select * from TB_SYS_MODULE where length(fudengok) > 5
于 2012-10-10T15:54:48.017 に答える