ADO.NETの基本的なコード:「非接続型アクセス」の接続とデータ参照

ADO.NETの大きな特徴である「非接続型アクセス」のデータベースへの接続と、データ参照についての基本的なコードの例をあげておきます。

「非接続型アクセス」の場合データソースからDataAdapterを通じてDataSetにデータが読み込まれ、そのDataSetに対してアクセスすることで非接続状態でのデータアクセスが可能になっている。

DataSetへのデータの読み込みは、DataAdapterのFillメソッドを使用して行われる。
またFillメソッドはデータソースへの接続、切断を必要に応じて自動的に行うので、意識的にそれらを行う必要はないようです。
  Dim ds As New DataSet() 'データを受け入れるDataSetを生成する
  Dim adapter As New SqlClient.SqlDataAdapter("SELECT title, type FROM titles", myConStr) データソースに接続するDataAdapterを生成する
  'myConStrはSQLServerへの接続文字列

  adapter.Fill(ds, "titles")
  '生成したDataSet(ds)にDataTable(titles)を生成してデータを読み込む
  'この際にtitlesは任意の名前で構わない。(データソースに依存しない)
上記のコードで生成されたDataSetは次のように利用する。
  • For Each~Nextで
      For Each row as DataRow In ds.Tables("titles").Rows
        '行の参照で処理する
        'row(0)やrow("title")で参照できる
      Next
    
  • For~Nextで
      For i As Integer = 0 To ds.Tables("titles").Rows.Count - 1
        'DataSet.DataTables("テーブル名").Rows("行")("列")の参照で処理する
        'ds.Tables("titles").Rows(i)("title")で参照できる
      Next
    
  • データのバインドで
      DataGridView.DataSource = ds
      DataGridView.DataMember = "titles"