1

私のコードは基本的に次のとおりです。

if (sql.execute('insert into myTable values (value1, value2, ...)') == true) {
   run some other sql query doing analysis on myTable
}
else {
   print "failure"
}

奇妙なことに、私のステートメントは即座に返され、「失敗」と出力されます。ただし、テーブルを監視しており、挿入は正しく機能しています。

私が本当にしたいのは、実行が行の挿入を完了した後、ifブロック内で他のクエリを実行することです。何が起こっていますか/どうすればこれを行うことができますか?

4

1 に答える 1

2

execute最初の結果が の場合にのみ true を返しResultSet、それ以外の場合は false を返します。

挿入の場合、ブール値の戻り値を確認できるとは思えません。

解決策:
executeInsertを使用して、Groovy の真実を使用します

if(sql.executeInsert('insert into myTable values (value1, value2, ...)')){
....
} else {
 ....
}
于 2013-10-02T19:06:15.023 に答える