ヘッダー

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)

ds.Tables(0).Rows(0).Delete()

Adapter.Update(ds)

注意!:この例は「最初のレコード」を削除しますが、SQL文で並び順を指定していないためどのレコードが最初のレコードになるかは場合により異なります。実際に削除を実行する場合には必ずキーを指定、確認等するようにしてください。

メモ:レコードを1つ削除するだけならSQLのDelete文を発行した方が効率的です。

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

MDBに接続する

SQL Serverに接続する