1

私は入力されたリストを持っています:

def someList=... (string values)

これを SQL ステートメントに渡して、クエリが選択する列を制限したいと考えています。

db.rows("select ${someList} from arch_application")

ただし、そうしようとすると、次のエラーが発生します。

There is a ? parameter in the select list. This is not allowed. 

誰にもアイデアがありますか?ありがとう!

4

1 に答える 1

0

GString を に渡すと、GroovySql.rowsでは通常とは異なる方法で解析されます。特に、置換用の置換可能なパラメーターを使用して PreparedStatement を作成します${}。あなたの場合、これはおそらくあなたが望むものではありません。GString を Java 文字列に強制してみてください。

db.rows("select ${someList.join(',')} from arch_application" as String)
于 2012-06-15T17:38:25.400 に答える