0

PostGreSQL を使用して JSP で JDBC を使用しています。指定されたタイトルの行のすべての値を読み取り、テキスト フィールドから解釈したいのですが、AND 演算子が機能しません。

// some code
stmt = conn.createStatement();
res = stmt.executeQuery(                                     
                "SELECT * " +
                "FROM album " +
                "WHERE interpret = ? AND titel = ? " +
                "ORDER BY interpret, titel ASC "
                );
//... closte statements, etc.

ANDの構文例外が発生しません。アドバイスはありますか?

4

1 に答える 1

1

で作成されたステートメントでバインド変数を使用することはできませんcreateStatementPreparedStatementは、使用する必要があるものです。

使用する:

stmt = conn.prepareStatement();
stmt.setString(1, interpretValue); //set the value for the first parameter to interpretValue
stmt.setString(2, titleValue); //second parameter

APreparedStatementは、ステートメントがプリコンパイルされているため、SQL ステートメントを実行するための推奨される方法です。Statementこれは、特に同じクエリが複数回実行される場合よりも効率的です。

于 2013-06-13T16:01:42.577 に答える