ADO.NET

1月 1, 2003 · Posted in ado · Comment 

Microsoftの.NET環境で作成されたシステムから、データベースアクセスを行なうための仕組みのこと。.NetFramework環境の一部として提供される。

概要

  • ADO.NETとは
    ADO.NETの簡単な説明

ODBC

解説のサンプルコードにはVisualBasic.NETを使用する。.NET準拠の言語なら同じ方法で使用することができる。

  • 接続と切断
    データベースへの接続と切断
  • 検索
    テーブルからデータを取得する(select文の実行)
  • 更新
    テーブルのデータを更新する(update文の実行)
  • 追加
    テーブルにデータを追加する(insert文の実行)
  • 削除
    テーブルのデータを削除する(delete文の実行)

ADO.NET – ODBC – データベースへの接続と切断

1月 1, 2003 · Posted in ado · Comment 

環境の準備

まず始めに参照設定や必要な変数を定義する。

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の中でもいろいろな接続方法があるが、ここでは汎用的に使用できるドライバでのアクセスを利用する。

以下の手順でデータベースへの接続を行う。

  1. OdbcConnectionオブジェクトを生成する。
  2. OdbcConnectionオブジェクトに対して接続文字列を設定する。
  3. 接続を行う。

次のようなコードになる。

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文の実行)

1月 1, 2003 · Posted in ado · Comment 

レコード削除の手順

  1. コネクションを取得
  2. 問い合わせの実行
  3. 問い合わせ結果をメモリ上の仮想表に設定する
  4. 仮想表内のデータを削除する
  5. コミットする

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()

次ページへ »