C#에서 Access 데이터베이스에 연결

Muhammad Zeeshan 2023년10월12일
C#에서 Access 데이터베이스에 연결

이 문서에서는 C#에서 Access 데이터베이스에 연결하는 방법에 대해 설명합니다.

마이크로소프트 액세스

Microsoft Access는 향후 참조, 보고 및 분석을 위해 데이터를 저장할 수 있는 데이터 관리 프로그램입니다. Microsoft Excel 또는 기타 스프레드시트 도구와 달리 Microsoft Access를 사용하면 방대한 양의 데이터를 분석하고 관련 데이터를 효율적으로 처리할 수 있습니다.

C#에서 Access 데이터베이스에 연결

아래 단계에 따라 C#에서 Access 데이터베이스에 연결할 수 있습니다.

  • 먼저 Microsoft Access를 열고 빈 데스크톱 데이터베이스를 선택합니다. 데이터베이스 이름을 지정한 다음 만들기를 클릭합니다.

  • 데이터베이스에 테이블을 만들고 이름을 지정합니다. Eid, Ename, EdeptEaddress의 4개 열이 있는 EmployeeInfo라고 부를 것입니다.

  • 이제 Microsoft Visual Studio를 실행하고 새 Windows Form 응용 프로그램을 만듭니다. 솔루션 탐색기에서 문서의 데이터베이스 파일을 Microsoft Access를 사용하여 생성된 프로젝트 디렉토리 폴더로 끌어다 놓습니다.

  • 다음과 같은 양식 디자인을 만듭니다.

    직원 정보 양식 디자인 만들기

  • 데이터 제출 버튼 더블 클릭, 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;
    
  • 도구로 이동하고 목록에서 데이터베이스에 연결을 선택하여 연결 문자열을 생성한 다음 프로젝트 디렉토리에서 데이터베이스를 검색합니다.

    데이터베이스에 연결 추가

  • 고급을 선택한 다음 목록에서 제공자를 선택합니다. 텍스트를 연결 문자열로 복사합니다.

  • 이제 연결 문자열을 만들고 다음과 같이 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