C# で Access データベースに接続する
![C# で Access データベースに接続する](/img/Csharp/feature-image---connect-access-database-in-csharp.webp)
この記事では、C# での Access データベースへの接続について説明します。
Microsoft Access
Microsoft Access は、将来の参照、レポート、および分析のためにデータを保存できるようにするデータ管理プログラムです。Microsoft Excel やその他のスプレッドシートツールとは異なり、Microsoft Access を使用すると、大量のデータを分析し、関連データを効率的に処理できます。
C#
でアクセスデータベースに接続する
以下の手順に従って、C# で Access データベースに接続できます。
-
まず、Microsoft Access を開き、空のデスクトップデータベースを選択します。データベースに名前を付けて、[作成]をクリックします。
-
データベースにテーブルを作成し、名前を付けます。これを
EmployeeInfo
と呼び、Eid
、Ename
、Edept
、およびEaddress
の 4つの列があります。 -
次に、Microsoft Visual Studio を起動し、新しい Windows フォームアプリケーションを作成します。ソリューションエクスプローラーで、データベースファイルをドキュメントから MicrosoftAccess を使用して生成されたプロジェクトディレクトリフォルダーにドラッグアンドドロップします。
-
次のようなフォームデザインを作成します。
-
データの送信
ボタンをダブルクリックします。1
ボタンをダブルクリックすると、イベントが作成されます。 -
次に、接続用に次のライブラリを追加します。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb;
-
ツール
に移動し、リストから[データベースに接続]を選択して接続文字列を生成し、プロジェクトディレクトリからデータベースを参照します。 -
Advanced
を選択し、リストからProvider
を選択します。このテキストを接続文字列としてコピーします。 -
次に、接続文字列を作成し、次のように静的文字列型の変数
constr
に割り当てます。static string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + Application.StartupPath + "/employeeinfo.mdb";
-
OleDbConnection
型変数dbcon
を初期化して接続を確立し、接続文字列constr
をパラメーターとして渡します。OleDbConnection dbcon = new OleDbConnection(constr);
-
最後に、これらのコード行を追加して、従業員の名前、部門、住所などの従業員情報を入力します。
OleDbCommand cmd = dbcon.CreateCommand(); dbcon.Open(); cmd.CommandText = "Insert into EmployeeInfo (Ename, Edept,Eaddress)Values('" + txtEmpname.Text + "','" + txtEmpdept.Text + "','" + txtEmpaddress.Text + "')"; cmd.Connection = dbcon; cmd.ExecuteNonQuery(); MessageBox.Show("Data Inserted Successfully"); dbcon.Close();
ソースコードの例
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsFormsApplication1 {
public partial class Form1 : Form {
static string constr =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + Application.StartupPath +
"/employeeinfo.mdb";
OleDbConnection dbcon = new OleDbConnection(constr);
public Form1() {
InitializeComponent();
}
private void button1_Click_1(object sender, EventArgs e) {
OleDbCommand cmd = dbcon.CreateCommand();
dbcon.Open();
cmd.CommandText = "Insert into EmployeeInfo (Ename, Edept,Eaddress.)Values('" +
txtEmpname.Text + "','" + txtEmpdept.Text + "','" + txtEmpaddress.Text +
"')";
cmd.Connection = dbcon;
cmd.ExecuteNonQuery();
MessageBox.Show("Data Inserted", "Congrats");
dbcon.Close();
}
}
}
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn