ADO.NET
Microsoftの.NET環境で作成されたシステムから、データベースアクセスを行なうための仕組みのこと。.NetFramework環境の一部として提供される。
概要
- ADO.NETとは
ADO.NETの簡単な説明
ODBC
解説のサンプルコードにはVisualBasic.NETを使用する。.NET準拠の言語なら同じ方法で使用することができる。
ADO.NET – ODBC – データベースへの接続と切断
環境の準備
まず始めに参照設定や必要な変数を定義する。
1.名前空間の設定(プロジェクトの参照設定)
必要な名前空間を使用可能にするために、参照の設定を行う。ODBCでデータベースにアクセスするためにはプロジェクトの参照設定にSystem, System.Data, System.XMLを設定する(図1)。

図1:参照設定
2.名前空間のインポート。
Imports System.Data.SqlClient Imports System.Data.Odbc
3.接続のために必要な変数を定義する。
Private OdbcConnection As OdbcConnection
OdbcConnectionクラスは、System.Data.Odbc名前空間に定義されている。
なお、テスト用にWindowsのcドライブ直下にMicrosoft Accessのデータベースファイルを定義した(図2、図3)。

図2:参照設定

図3:テーブルの内容
接続
データベースの接続にはOdbcConnectionクラスを使用する。ODBCの中でもいろいろな接続方法があるが、ここでは汎用的に使用できるドライバでのアクセスを利用する。
以下の手順でデータベースへの接続を行う。
- OdbcConnectionオブジェクトを生成する。
- OdbcConnectionオブジェクトに対して接続文字列を設定する。
- 接続を行う。
次のようなコードになる。
Me.OdbcConnection = New OdbcConnection
Me.OdbcConnection.ConnectionString = _
"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\sample.mdb;"
Me.OdbcConnection.Open()
※ドライバの文字列やパラメータの設定は、コンピューターの環境、ドライバのバージョンによって異なります。
切断
データベースへの接続を切断するにはOdbcConnectionクラスのcloseメソッドを利用する。
Me.OdbcConnection.Close()
アプリケーションの異常終了時などにも必ずcloseメソッドが実行されるようなコーディングを行う。
ADO.NET – ODBC – テーブル内のレコードを削除する(delete文の実行)
レコード削除の手順
- コネクションを取得
- 問い合わせの実行
- 問い合わせ結果をメモリ上の仮想表に設定する
- 仮想表内のデータを削除する
- コミットする
例
deleteするために、一度selectによる問い合わせを行う。deleteはupdateメソッドでレコード更新と同じ方法で行う。
' コネクション Me.OdbcCommand.Connection = Me.OdbcConnection ' 問い合わせ文の設定 Me.OdbcCommand.CommandText = "select * from empno where empid = ?" ' バインド変数の設定 OdbcCommand.Parameters.Add("", Odbc.OdbcType.Char).Value = "9999" ' 検索 Me.OdbcDataAdapter = New OdbcDataAdapter(Me.OdbcCommand) Me.OdbcCommandBuilder = New OdbcCommandBuilder(Me.OdbcDataAdapter) Me.DataSet = New DataSet Me.OdbcDataAdapter.Fill(Me.DataSet, "MYTABLE") ' 行の削除 DataSet.Tables("MYTABLE").Rows(1).Delete() ' Update Me.OdbcDataAdapter.Update(DataSet, "MYTABLE") ' コミット DataSet.AcceptChanges()

