C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[1]: vb データアダプターによる更新
(過去ログ 130 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■77222
/ inTopicNo.1)
vb データアダプターによる更新
▼
■
□投稿者/ やぎさん
(1回)-(2015/09/29(Tue) 10:32:56)
分類:[.NET 全般]
DataAdapterでデータベースの値を更新する方法についてお教えください。
言語は、Visual Basicです。知りたい内容は、下のURLのコードについてです。
http://qiita.com/keidrumfreak/items/1b631b8935f4c4603f8e
なぜ、この3行でDataGridViewの変更をデータベースに反映させる事ができるんでしょうか?
データベースの内容をdtに格納。dtのデータと、DataGridViewの値をマージさせる事はわかるのですが、これが何故DataGridViewの変更をDBに反映させる事ができるか理解ができないです・・・
解説お願い致します。
da.Fill(dt)
dt.Merge(CType(DataGridView1.DataSource, DataTable))
da.Update(dt)
引用返信
編集キー/
編集
■77224
/ inTopicNo.2)
Re[1]: vb データアダプターによる更新
▲
▼
■
□投稿者/ WebSurfer
(657回)-(2015/09/29(Tue) 11:31:00)
■
No77222
(やぎさん さん) に返信
> これが何故DataGridViewの変更をDBに反映させる事ができるか理解ができないです・・・
ちょっと古い記事ですが、以下のページの図1、図2を見ると一目瞭然で、何故かがよく
分かると思います。
DB 設計者のための明解 ADO.NET 第 1 回
https://msdn.microsoft.com/ja-jp/library/cc482903.aspx
引用返信
編集キー/
編集
■77225
/ inTopicNo.3)
Re[1]: vb データアダプターによる更新
▲
▼
■
□投稿者/ furu
(25回)-(2015/09/29(Tue) 11:33:13)
■
No77222
(やぎさん さん) に返信
> da.Fill(dt)
> dt.Merge(CType(DataGridView1.DataSource, DataTable))
> da.Update(dt)
わからないのはda.Update(dt)でしょうか?
Updateメソッドは、変更を判断して
INSERTコマンド
UPDATEコマンド
DELETEコマンド
をそれぞれ(うまく)実行してくれるそうです。
引用返信
編集キー/
編集
■77226
/ inTopicNo.4)
Re[1]: vb データアダプターによる更新
▲
▼
■
□投稿者/ WebSurfer
(658回)-(2015/09/29(Tue) 12:10:21)
■
No77222
(やぎさん さん) に返信
【追伸】
余計な話かもしれませんが・・・
参考にされてる記事を見てみましたが、内容が変です。参考にしないほうがいいと
思います。
変というのは、例えば:
(1) 「インスタンスでDataAdapter,DataTableを保持せずに」とあるが DataTable
の方は保持している。
(2) DataAdapter を使う場合 Open/Close は不要。何らかの理由(トランザクショ
ンに束ねるなど)で接続を維持したいという場合は Open/Close を書くことがある
が、その記事のコードの例では不要。どうしても自分で Open/Close したいなら
コネクションリークを防止するコーディングとすべき。
(3)「まぁ普通は素直にインスタンスでDataAdapterとConnection保持しろって話に
なるんですが。」とあるが、ユーザーによる DataGridView の編集中に接続を保持
する必要は全くない。むしろその逆で、使い終わったら即 Close すべき。
記事を書かれた方はよく分かってないという感じです。
なお、DataGridView を利用して SQL Server のデータを編集するプログラムを作る
なら Visual Studio の データ ソース構成ウィザードを利用して型付 DataSet +
TableAdapter を自動生成させて、以下の記事の図にあるような構成のプログラムを
作ることをお勧めします。
Windows フォーム アプリケーションでのデータへの接続
https://msdn.microsoft.com/ja-jp/library/wxt2cwcc
(v=vs.120).aspx
作り方は以下の記事が参考になると思います。以下の記事は 2 つのテーブルを扱っ
て階層更新を実現するためコードが少々複雑ですが、テーブルが 1 つの場合は自分
では 1 行もコードを書かずにすべてウィザードベースでアプリを作成できます。
10 行でズバリ !! 非接続型のデータ アクセス (ADO.NET) (VB)
https://code.msdn.microsoft.com/10-ADONET-VB-1c64942f/
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-