2016年10月11日

SqlDataAdapterにより抽出したデータをDataGridViewに表示する



SqlDataAdapterは、SQL Serverからデータを取得してデータセットに格納する役割を持っています。
また、データセットに格納したデータの変更をデータベースに反映させることもできます。

以下に、SQL ServerからSqlDataAdapterを使ってデータを抽出して、フォーム上のDataGridViewに値を表示する例を示します。

ちなみに、開発ツールは、Visual Studio Community 2015 を使っています。

まず、Visual Studioを起動したら新しいプロジェクトを作成してください。
作成は、メニューの[ファイル]-[新規作成]-[プロジェクト]から行えます。


選ぶのは「Windowsフォームアプリケーション」です。



プロジェクトを作成したら、フォームにツールボックスからDataGridViewとButtonを1個ずつ貼り付けてください。

DataGridViewとButtonの名前はそれぞれ以下のようにします。

コントロール 名前
DataGridView dgv
Button buttonView

そして、buttonViewのクリックイベントハンドラに下記のように記述します。

C#
private void buttonView_Click(object sender, EventArgs e)
{
    string ConnectionString = @"Data Source=localhost\MSSQLSERVER;Initial Catalog=TESTDB;Integrated Security=True";

    var cnn = new SqlConnection(ConnectionString);
    cnn.Open();

    // データアダプタオブジェクトの作成
    var adapter = new SqlDataAdapter("SELECT [ID], [Name], [Type] FROM [T_Animals]", cnn);

    // データセットオブジェクトの作成
    var ds = new DataSet();

    // 抽出したデータをデータセットに格納
    adapter.Fill(ds);

    // DataGridViewのデータソースにデータセットのテーブルをバインド
    this.dgv.DataSource = ds.Tables[0];
}

VB
Private Sub buttonView_Click(sender As Object, e As EventArgs) Handles buttonView.Click

    Dim ConnectionString As String = "Data Source=localhost\MSSQLSERVER;Initial Catalog=TESTDB;Integrated Security=True"

    Dim cnn = New SqlConnection(ConnectionString)
    cnn.Open()

    'データアダプタオブジェクトの作成
    Dim adapter = New SqlDataAdapter("SELECT [ID], [Name], [Type] FROM [T_Animals]", cnn)

    'データセットオブジェクトの作成
    Dim ds = New DataSet()

    '抽出したデータをデータセットに格納
    adapter.Fill(ds)

    'DataGridViewのデータソースにデータセットのテーブルをバインド
    Me.dgv.DataSource = ds.Tables(0)
End Sub



実行して「表示」ボタンを押すとDataGridViewにデータを表示されます。



スポンサーリンク