0

以下のようにPreparedstatementの値をパラメータ化しようとしていました

PreparedStatement ps = Connection.prepareStatement("select col_a,? from TABLE_A");
ps.setString(1,"myValue");
ps.execute();

次のリターンが欲しい

COL_A    myValue
-----------------
val1     myValue
val2     myValue

これは、以下のような単純な sql に匹敵します。

select col_a,'myValue' 
from TABLE_A
4

1 に答える 1

2

列名をパラメータ化することはできません。

動的な列名の場合、動的 SQLを使用する必要があります。これにより、SQL インジェクションが発生する可能性があります。

于 2012-04-16T19:01:08.517 に答える