2014年1月1日水曜日

【VB.NET】ADO.NET DataAdapterでデータを取得する。

DataAdapterを利用してデータを取得します。

  1. DataAdapterのSelectCommandとConnectionを設定します。
  2. DataAdapter.Fillメソッドを実行しDataSetにデータを取得します。


例:売上データを取得してコンソールに出力します。

テーブル定義
インスタンス名SQLEXPRESSデータベース名SAMPLE_DB
論理テーブル名売上データ物理テーブル名T_SALES
列定義
No論理名物理名データ型Nullを許容主キー
1NONOnumeric(8,0)NoYes
2商品CDITEM_CDnvarchar(4)No
3売上数UNIT_SALESnumeric(8,0)No
4売上額SALES_AMOUNTnumeric(8,0)No

売上データ














※パラメータ設定のSqlDbTypeについてはSQLServerデータ型のマッピングを参照してください。
Imports System.Data.SqlClient
 
Module Module1
 
    Sub Main()
 
        Dim con As New SqlConnection
 
        'DB接続
        con.ConnectionString = "Data Source=localhost\SQLEXPRESS;Initial Catalog=SAMPLE_DB;Integrated Security=True"
        con.Open()
 
        'SQLステートメント
        Dim strSql As String = "SELECT * FROM T_SALES WHERE SALES_AMOUNT <= @SALES_AMOUNT"
 
        'SqlDataAdapter設定
        Dim da As New SqlDataAdapter(strSql, con)
 
        'パラメータ設定
        da.SelectCommand.Parameters.Add("@SALES_AMOUNT", SqlDbType.Decimal).Value = 1000
 
        'DataSet
        Dim ds As New DataSet
 
        'データを取得
        da.Fill(ds, "T_SALES")
 
        'データを表示
        For Each rw As DataRow In ds.Tables("T_SALES").Rows
 
            Dim str As String = String.Empty
 
            For Each cl As DataColumn In ds.Tables("T_SALES").Columns
                str = str & rw(cl).ToString & " "
            Next
 
            Console.WriteLine(str)
        Next
 
        'SqlDataAdapterの解放
        da.Dispose()
 
        '接続を閉じる
        con.Close()
 
        'SqlConnectionの解放
        con.Dispose()
 
    End Sub
 
End Module

実行結果

0 件のコメント:

コメントを投稿