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

わんくま同盟

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

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


(過去ログ 13 を表示中)
■3980 / )  Re[8]: mdb(oleb)の更新ができない
□投稿者/ hikaru (7回)-(2007/05/30(Wed) 17:46:44)
No3972 (はつね さん) に返信
ぽぴ王子さま、ダッチさま、はつねさま、ありがとうございました。

まさに、 ぽぴ王子さまの言われる通りです。
私の文章を理解していただき、ありがとうございます。
DataRow dr3 = ds3.Tables[Log].Rows[0];
dr3.BeginEdit();
ds3.EndEdit();
を追加したら解決できました。

これをきっかけに、複数行の更新も試みましたが、エラーとなりました。
自分で考え、解決できなかったら別スレで質問すかもしれませんので、
そのときは、あ〜、あのときの質問かと思ってまたお知恵をおかしください。

余談なんですが、、、今回のように1件のデータを抽出して更新、または、削除するとき
DataSet(非接続型)を使うべきでしょうか?もしくはコマンド(ExecuteNonQuery?)を使用したらいいのでしょうか?
今回、悩みましたが、勉強もかねて(皆さんに迷惑をおかけしましたが)DataSetを使いました。
ADO.NET(接続型、非接続型)の基本的なことかもしれませんが、皆さんのお知恵をお貸しください。
本を読んだり、サイトも拝見しましたが、納得できませんでした。
もしよろしければ、ご意見などお伺いできたら、ありがたいです。

> ■No3963 (hikaru さん) に返信
>>そこでお知恵を拝借したいのですが、その前に仕様が説明不足でした。すいません。
>>そもそもこのLogデータは1件しかないく、データの日付で更新内容を判断し、更新日と番号を上書き(更新)します。
>>なので、DataRow dr3 = ds3.Tables[Log].NewRow();でデータをテーブルをコピーしていますが、そもそもこれが間違ってるんですかね。
>>それをどうしたら、テーブルに反映できるのでしょうか?
>
> tb3.Rows.Count == 1
> で判断していますので、もし、その1レコードを更新したいのであれば、ぽぴ王子が書かれているほう方がまさにレコードの更新を行うための方法です。
>
返信 編集キー/


管理者用

- Child Tree -