DOBON.NET DOBON.NETプログラミング掲示板過去ログ

UPDATEステートメントの構文エラー

分類:[全般]

VS.NET環境上で、VB.Netを使ってMDBファイルに入出力するプログラム
を作っておるのですが、実行すると、
'System.Data.OleDb.OleDbException' のハンドルされていない例外が system.data.dll で発生しました。
というエラーが出ました。

調べたところ、OleDataAdapterのUpdateCommandプロパティの中のCommandTextで
生成した下記のUpdate文にエラーがあるようで、
SQL構文の解析を行ったところ、
「UPDATEステートメントの構文エラー」が返されました。
<SQL文>
UPDATE [T_サブ]
SET 注文NO =, 数量 =, 商品番号 =
WHERE (商品番号 = ?) AND (数量 = ?) AND (注文NO = ?)


googleを使って他のサイトを検索すると「予約語をSQL文で使用するとこの
エラーが出る」のですが、予約語らしき名前は見当たりません。

同様にCommandText内で生成したDelete文やSelect文からではエラーが出ないのに
何故だかわからず困っております。


どなたか情報をお持ちでしたら伝授いただけますようよろしくお願いいたします。
■No109に返信(しかしさんの記事)
>
> 調べたところ、OleDataAdapterのUpdateCommandプロパティの中のCommandTextで
> 生成した下記のUpdate文にエラーがあるようで、
> SQL構文の解析を行ったところ、
> 「UPDATEステートメントの構文エラー」が返されました。
> <SQL文>
> UPDATE [T_サブ]
> SET 注文NO =, 数量 =, 商品番号 =
> WHERE (商品番号 = ?) AND (数量 = ?) AND (注文NO = ?)
>
SETの後ろがXX=?の形式でないからではないでしょうか?

UPDATE [T_サブ]
SET 注文NO =?, 数量 =?, 商品番号 =?
WHERE (商品番号 = ?) AND (数量 = ?) AND (注文NO = ?)
ありがとうございます。解決しました。
書籍を参考にしていたのですが、
どこにもむつさんの解答のような
記述がなかったため、コーディング以外に
原因があるのでは?とすぐに疑ってしまいました。

今後、書籍を疑って色々自分でテストしてみます。
ありがとうございました。
■No119に返信(しかしさんの記事)
> ありがとうございます。解決しました。
> 書籍を参考にしていたのですが、
> どこにもむつさんの解答のような
> 記述がなかったため、コーディング以外に
> 原因があるのでは?とすぐに疑ってしまいました。
>
> 今後、書籍を疑って色々自分でテストしてみます。
> ありがとうございました。
>
>
>
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板