2

私は Derby データベースを使用しており、テーブルの 1 つのすべての列を更新しようとしています。

私は次のステートメントを使用しています。

String stmt = "UPDATE APP.DATAVAULT SET DID = ?, DTITLE = ?, DUNAME = ?, DPASS = ?, DSANSWER = ?, DPIN = ?, DURL = ?, DNOTES = ?, PID = ? WHERE DID = ?, DTITLE = ?, DUNAME = ?, DPASS = ?, DSANSWER = ?, DPIN = ?, DURL = ?, DNOTES = ?, PID = ?";

次のステートメントを使用して、以前に更新を行いました。

String stmt = "UPDATE APP.PERSON SET PSNAME = ? WHERE PID = ?";

テーブル全体を更新する簡単な方法はありますか? そうでない場合、次のエラーが引き続き発生するため、このステートメントの何が間違っていますか。

Syntax error: Encountered "," at line 1, column 137.
4

3 に答える 3

6

これ

WHERE DID = ?, DTITLE = ?, DUNAME = ?, DPASS = ?, DSANSWER = ?, DPIN = ?, DURL = ?, DNOTES = ?, PID = ?

これであるべき

WHERE DID = ? AND DTITLE = ? AND DUNAME = ? AND DPASS = ? AND DSANSWER = ? AND DPIN = ? AND DURL = ? AND DNOTES = ? AND PID = ?

に置き換え,ますAND

于 2013-03-29T17:42:24.297 に答える
4

ANDコンマ (,) を使用せずに複数の句を追加する必要があります。それは違いないWHERE DID = ? AND DTITLE = ? AND...

于 2013-03-29T17:43:26.303 に答える
2

WHERE 句のカンマは AND にする必要があります

String stmt = "UPDATE APP.DATAVAULT SET DID = ?, DTITLE = ?, DUNAME = ?, DPASS = ?, DSANSWER = ?, DPIN = ?, DURL = ?, DNOTES = ?, PID = ? WHERE DID = ? AND DTITLE = ? AND DUNAME = ? AND DPASS = ? AND DSANSWER = ? AND DPIN = ? AND DURL = ? AND DNOTES = ? AND PID = ?";

于 2013-03-29T17:43:42.727 に答える