ヘッダー

VB.NET 2002, VB.NET 2003, VB2005

DataSetに新しい行を追加する

この記事は SQL Server 2000 で動作確認しています。他のデータベースでも宣言の部分を変更すれば同じコードが実行できます。

以下の例では、データベースからauthorsと言う名前のテーブルの内容をデータセットに読み込んで、新しい行を追加してからデータベースに書き込む。

authorsテーブルはSQL Server付属のサンプルであるpubsデータベースのテーブルだが、テーブル名や列名の部分は自由に変更できるのでこの例はどのような場合にも対応できる。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim Cn As SqlClient.SqlConnection

'<ここにCnのデータベースへの接続処理を追加してください。>

Dim sqlSelect As New SqlClient.SqlCommand("SELECT * FROM authors", Cn)
Dim Adapter As New SqlClient.SqlDataAdapter(sqlSelect)
Dim Builder As New SqlClient.SqlCommandBuilder(Adapter)
Dim ds As New DataSet

Adapter.Fill(ds)

Dim Row As DataRow

Row = ds.Tables(0).NewRow
Row("au_id") = "111-22-3333"
Row("au_lname") = "Sasuke"
Row("au_fname") = "Sarutobi"
Row("Phone") = "123-4567"
Row("Contract") = 1

ds.Tables(0).Rows.Add(Row)

Adapter.Update(ds)

メモ:新しい行を追加するだけならSQLのInsert文を発行した方が効率的です。

メモ:この例をそのまま2回実行するとキー重複によるエラーが発生します。

メモ:データベースへの接続に関しては以下のリンクを参照。

MDBに接続する

SQL Serverに接続する