掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
日付時間型データの保存で同時実行違反エラー (ID:120407)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
まずは、問題の切り分けから行いましょうか。 WHERE句以下には、同時実行制御の為の、複雑な条件式が書かれていますね。 http://www.microsoft.com/japan/msdn/library/ja/cpguide/html/cpconoptimisticconcurrency.asp http://www.atmarkit.co.jp/fdotnet/basics/adonet07/adonet07_04.html まずはここを簡潔にしてみて、それでもエラーになるかどうかを調べてみましょう。 UpdateCommand の CommandText を以下のように変更してから、 正常動作するかどうかを確認してみてください。 (列の同時更新判定を省き、主キーのみでの検索にしてあります) UPDATE TestTable SET EditDate = ? WHERE [Index] = ? > データに時間を設定しない場合はエラーにはなりませんでした あー……もしかして。 時間が無い(00:00:00)場合にうまくという事は、 .UpdateCommand.Parameters( 日付パラメータ列 ).OleDbType の内容が、OleDb.OleDbType.Date ではなく OleDb.OleDbType.DBDate に なっていませんか? Date は「日付と時刻」を持つ型ですが、DBDate は「日付部のみ」を 扱う型ですので、時刻部が切り捨てて比較されてしまい、 UpdateCommandが「更新件数 ゼロ → 同時実行違反」と判断しているのかも。 # あくまで予想なので、間違っているかもしれませんけど。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.