|
分類:[C# (Windows)]
いつもお世話になります。hikaruです。つい先日にも質問させていただきました。 そのときは、お力をかして頂きありがとうございます。
Logデータ 番号 更新日 60 20070531 2 20070601 上記のようなmdbファイルがあります。 更新日="20070601"のデータを更新したいのですが、エラーとなりした。 (番号=1、更新日=20070602と更新)
エラー内容 「同時実行違反:UpdateCommandによって、処理予定の1レコードのうち0件が処理されました。」
しかし、更新日="20070601"の判定も行われているようです。なのになぜ・・・ 皆さんにお力をかりてばかりですが、最初の一歩の力をおかしください。
コーディング内容
//ログの取得 da3 = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM Log", cn3);
//データセットへの読み込み DataSet ds3 = new DataSet(Log); da3.Fill(ds3, Log); //データテーブルのセット DataTable tb3 = ds3.Tables[Log]; tb3.PrimaryKey = new DataColumn[] { tb3.Columns["番号"] }; for (int i=0;i<tb3.Rows.Count ;i=i+1) { if (tb3.Rows[i]["更新日"].ToString() == "20070601") { tb3.Rows[i]["番号"] =1; tb3.Rows[i]{"更新日"] = "20070602"; } }
//更新処理 cmd3 = new System.Data.OleDb.OleDbCommand ("UPDATE " + Log + " SET 番号=?, 更新日 = ? ", cn3); cmd3.Parameters.Add(new System.Data.OleDb.OleDbParameter("番号", System.Data.OleDb.OleDbType.BigInt, 4, "番号")); cmd3.Parameters.Add(new System.Data.OleDb.OleDbParameter("更新日", System.Data.OleDb.OleDbType.VarChar, 8, "更新日")); da3.UpdateCommand = cmd3; da3.Update(ds3, Log); }
else { //エラー処理 --- } よろしくお願いします。
|