ADO.NETの基本はどのデータベースに対しても同じだと思います。
(1)接続情報を用意する。
(2)コネクションを用意する。
(3)SQL文のコマンドを用意する。
(4)各データベースの種類ごとのDataAdapterを用意して、先のコネクションとSQL文を実行する。
(5)SELECT文などの戻り値があれば、要したDataTableなどに格納して表示する。
Accessデータベースに接続するためには、System.Data.OleDbをインポートして、そこで定義されているクラスを利用します。
(1)OleDbConnectionStringBuilderクラス。接続情報を作成するヘルパークラスです。
(2)OleDbConnectionクラス。Accessデータベースとの接続を担うクラスです。
(3)OleDbCommandクラス。実行したいSQL文を設定するクラスです。SELECTだけではなく、UPDATEやINSERTなどもこれを利用します。
(4)OleDbDataAdapterクラス。Accessデータベースとのやり取りを担ってくれるクラスです。
なお32bitでも64bitでも動作します。
Accessデータベース特有な接続情報は、ProviderでAccess2007以降のファイルはMicrosoft.ACE.OLEDB.12.0と設定し、それ以前の場合はMicrosoft.Jet.OLEDB.4.0にします。
どっちのタイプになるかはファイルの拡張子でわかります。.accdbなら2007以降、.mdbならそれ以前です。
DataSourceには利用したいAccessファイルへのパスを記述します。
C#
//Accessファイルなのでこれを設定します。 using System.Data.OleDb; namespace ADONET_Access { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); //Accessへの接続情報の設定をします。 OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder(); //Access2007形式のファイルなのでこれを設定します。 builder.Provider = "Microsoft.ACE.OLEDB.12.0"; //Accessファイルへのパスを設定します。 builder.DataSource = "G:\\Database1.accdb"; //接続情報を使ってコネクションを生成します。 using (OleDbConnection conn = new OleDbConnection(builder.ConnectionString)) { //SQL文とコネクションを設定します。 using (OleDbCommand cmd = new OleDbCommand("SELECT * FROM T1", conn)) { //Accessファイルへの橋渡しのアダプターを設定します。 OleDbDataAdapter odda = new OleDbDataAdapter(); //SELECTコマンドを設定します。 odda.SelectCommand = cmd; //SELECTの実行及びフェッチ odda.Fill(dt); //グリッドに表示します。 dataGridView1.DataSource = dt; } } } } }
VB.NET
'Accessファイルなのでこれを設定します。 Imports System.Data.OleDb Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim dt As DataTable = New DataTable() 'Accessへの接続情報の設定をします。 Dim builder As OleDbConnectionStringBuilder = New OleDbConnectionStringBuilder() 'Access2007形式のファイルなのでこれを設定します。 builder.Provider = "Microsoft.ACE.OLEDB.12.0" 'Accessファイルへのパスを設定します。 builder.DataSource = "G:\\Database1.accdb" '接続情報を使ってコネクションを生成します。 Using conn As New OleDbConnection(builder.ConnectionString) 'SQL文とコネクションを設定します。 Using cmd As New OleDbCommand("SELECT * FROM T1", conn) 'Accessファイルへの橋渡しのアダプターを設定します。 Dim odda As OleDbDataAdapter = New OleDbDataAdapter() 'SELECTコマンドを設定します。 odda.SelectCommand = cmd 'SELECTの実行及びフェッチ odda.Fill(dt) 'グリッドに表示します。 DataGridView1.DataSource = dt End Using End Using End Sub End Class
良い | やや良い | 普通 | やや悪い | 悪い |
---|---|---|---|---|
3 | 0 | 3 | 0 | 4 |
投稿日時 | 評価 | コメント |
---|