C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 13 を表示中)
■4033 / )  mdb(OleDb)の更新ができない その2
□投稿者/ hikaru (9回)-(2007/06/01(Fri) 21:36:44)

分類:[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
{
//エラー処理
---
}
よろしくお願いします。

返信 編集キー/


管理者用

- Child Tree -