C# で Access データベースに接続する

Muhammad Zeeshan 2023年10月12日
C# で Access データベースに接続する

この記事では、C# での Access データベースへの接続について説明します。

Microsoft Access

Microsoft Access は、将来の参照、レポート、および分析のためにデータを保存できるようにするデータ管理プログラムです。Microsoft Excel やその他のスプレッドシートツールとは異なり、Microsoft Access を使用すると、大量のデータを分析し、関連データを効率的に処理できます。

C# でアクセスデータベースに接続する

以下の手順に従って、C# で Access データベースに接続できます。

  • まず、Microsoft Access を開き、空のデスクトップデータベースを選択します。データベースに名前を付けて、[作成]をクリックします。

  • データベースにテーブルを作成し、名前を付けます。これを EmployeeInfo と呼び、EidEnameEdept、および 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();
    }
  }
}
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

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

関連記事 - Csharp Database