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

わんくま同盟

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

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


■92267 / )  データセットのレコード値変更
□投稿者/ あめ (1回)-(2019/09/06(Fri) 13:11:53)

分類:[.NET 全般] 

vb.netで学習をしています。

名簿入力リストのアプリケーションを作り、保存ボタンを押したときに
テキストコントロールの内容をデータセットのデータテーブルにレコード追加するようにしたいのですが、
新規作成と変更のモードを作ろうと思っています。
どちらの場合でもテキストコントロールの内容を元にするので、
同じような処理はまとめて違う処理だけ分けたいのですが、

Dim sleRowNo As Integer
If EditMode = ADD Then '--- 新規モード ---
'データセットにレコードを追加
Dim drw As DataRow = ds.Tables("Meibo").NewRow
ds.Tables("Meibo").Rows.Add(drw)
sleRowNo = ds.Tables("Meibo").Rows.Count - 1
Else '--- 変更モード ---
Dim sleRow As DataRow()
'該当レコード番号を取得
sleRow = ds.Tables("Meibo").Select("Sei = '" & TextBoxSei.Text & "'")
sleRowNo = ds.Tables("Meibo").Rows.IndexOf(sleRow(0))
End If

With ds.Tables("Meibo").Rows(sleRowNo)
.Item("Sei") = TextBoxSei.Text
.Item("Mei") = TextBoxMei.Text
.Item("Age") = TextBoxAge.Text
.Item("Seibetu") = TextBoxSeibetu.Text
End With

今思いついているのは、新規作成ならまずレコードを追加、変更なら指定レコードのインデックスを取得してから
値をセットしていくという方法なのですが、これがベストなのか他にもっと良い方法があるのかがわかりません。
そもそもこの方法が上手くいくのかもわかりません。
どなたかアドバイスをお願いします。
返信 編集キー/


管理者用

- Child Tree -