方法 : TableAdapter で直接データベースにアクセスする
更新 : 2007 年 11 月
InsertCommand、UpdateCommand、および DeleteCommand に加えて、データベースに対して直接実行できるメソッドで、TableAdapter が生成されます。これらのメソッド (TableAdapter.Insert、TableAdapter.Update、および TableAdapter.Delete) は、データベース内でデータを操作するために直接呼び出すことができます。
これらの直接メソッドを作成しない場合は、[プロパティ] ウィンドウで TableAdapter の GenerateDbDirectMethods プロパティを false に設定します。メイン クエリに加えて TableAdapter に追加されたクエリは、スタンドアロンのクエリです。つまり、DbDirect メソッドを生成しないクエリです。
データベースへのコマンドの直接送信
目的とするタスクを実行する TableAdapter DbDirect メソッドを呼び出します。
新規レコードをデータベースに直接挿入するには
各列の値をパラメータとして渡して TableAdapter の Insert メソッドを呼び出します。次の手順では、例として Northwind データベースの Region テーブルを使用します。
メモ : 使用できるインスタンスがない場合は、使用する TableAdapter をインスタンス化します。
Dim regionTableAdapter As New NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter.Insert(5, "NorthWestern")
NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = new NorthwindDataSetTableAdapters.RegionTableAdapter(); regionTableAdapter.Insert(5, "NorthWestern");
データベース内のレコードを直接更新するには
各列の新しい値と元の値をパラメータとして渡して TableAdapter の Update メソッドを呼び出します。
メモ : 使用できるインスタンスがない場合は、使用する TableAdapter をインスタンス化します。
Dim regionTableAdapter As New NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter.Update(1, "East", 1, "Eastern")
NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = new NorthwindDataSetTableAdapters.RegionTableAdapter(); regionTableAdapter.Update(1, "East", 1, "Eastern");
データベース内のレコードを直接削除するには
各列の値を Delete メソッドのパラメータとして渡して TableAdapter の Delete メソッドを呼び出します。この例では、Northwind データベースの Region テーブルを使用します。
メモ : 使用できるインスタンスがない場合は、使用する TableAdapter をインスタンス化します。
Dim regionTableAdapter As New NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter.Delete(5, "NorthWestern")
NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = new NorthwindDataSetTableAdapters.RegionTableAdapter(); regionTableAdapter.Delete(5, "NorthWestern");