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 |
| 投稿日時 | 評価 | コメント |
|---|