@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

Updateメソッドを実行すると同時実行違反になる

1
投稿者投稿内容
022406
会議室デビュー日: 2003/03/19
投稿数: 1
投稿日時: 2003-03-20 09:29
はじめまして。初めて書き込みをします。

現在、Win2k + SQLServer2000 の環境で、VB.NETのWindowsアプリケーションの開発を行っています。

SqlDataAdapterによってDBに接続しているのですが、
UPDATEメソッド実行時に、同時実行エラーになってしまいます。
テスト環境では同時実行の可能性は考えにくいので、
他の理由だと思うのですが、どうにも原因がわかりません。

エラー内容は以下の通りです。
"System.Data.DBConcurrencyException: 同時実行違反 : UpdateCommand によって 0 件処理されました。
at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
at System.Data.Common.DbDataAdapter.Update(DataTable dataTable)
at JFU120.Form1.DataTableUPD(SqlDataAdapter iDA, DataTable iDT) in C:\hoge\Form1.vb:line 2289"


UPDATE、INSERTのSQL文はそれぞれ、
  "UPDATE hoge SET (Data2 = @Current_Data2) WHERE (Data1 = @Original_Data1)"
  "INSERT INTO hoge (Data1,Data2) VALUES (@Current Data1,@Current Data2)
といった具合になっています。
SELECT文は、テーブル「hoge」の他に、複数のテーブルを結合しており、複雑なものになります。


気になることとしては、
プログラム内で使用するDBのみ違った照合順序(Japanese_CI_AS_KS_WS)を使っています(master及び他のDBはJapanese_CI_AS)。


どなたか思い当たる点がありましたらご教授ください。
1

スキルアップ/キャリアアップ(JOB@IT)