C#의 SQL 연결 문자열
이 자습서에서는 C# 프로그래밍 언어의 연결 문자열 기능을 사용하여 다양한 기능을 수행하는 방법을 알아봅니다.
모든 프로그래밍 언어는 데이터베이스에서 데이터를 가져올 수 있어야 합니다. 데이터베이스 작업 능력은 모든 프로그래밍 언어의 절대적인 요구 사항입니다.
이는 C#에서도 마찬가지입니다. 다양한 데이터베이스와 호환됩니다.
Oracle 및 Microsoft SQL Server를 비롯한 많은 데이터베이스를 사용할 수 있습니다. 시작하기 전에 데이터베이스 연결의 기본 사항을 명확하게 이해해야 합니다.
C#
의 데이터베이스 연결 기본 사항
C# 및 .Net
은 대부분의 데이터베이스와 호환되며 Oracle 및 Microsoft SQL Server가 가장 일반적인 예입니다. 그러나 모든 데이터베이스로 작업하는 방법론은 모든 데이터베이스에서 거의 유사한 패턴을 따릅니다.
다음은 모든 데이터베이스에서 공유하는 데이터베이스로 작업하는 동안 적용할 수 있는 몇 가지 원칙입니다.
-
연결 문자열
- 연결은 데이터베이스에 포함된 데이터로 작업할 때 취해야 할 분명한 초기 단계입니다. 아래 나열된 매개변수는 데이터베이스 연결의 필수 부분입니다.C#이 연결 문자열을 이해하기 위해서는 연결 문자열에 대한 정확한 정보를 제공해야 합니다. 다음 요소는 연결 문자열의 구성 요소를 구성합니다.
1.1
데이터 소스
- 데이터 소스라고도 하는 데이터베이스가 저장된 서버의 이름입니다. 특정 인스턴스에서는(LocalDB)\MSSQLLocalDB
로 지정된 컴퓨터에 저장됩니다.
1.2초기 카탈로그
- 데이터베이스의 이름은초기 카탈로그
를 기준으로 사용하여 결정됩니다. 연결해야 하는 데이터베이스의 이름은 고려해야 할 첫 번째 중요한 측면입니다.주어진 시간에 하나의 연결로 하나의 데이터베이스에만 액세스할 수 있습니다.
-
SQL 명령
- 사용자는 C#에서SqlCommand
를 통해 데이터베이스에 명령을 쿼리하고 보낼 수 있는 기능이 제공됩니다. SQL 명령은 SQL 연결을 나타내는 개체에서 제공합니다.ExecuteReader
는 쿼리 결과에 사용되는 메서드이고ExecuteNonQuery
는insert
,update
및delete
명령에 사용되는 메서드입니다. 예를 들어 다음 예제에서 사용된 연결 문자열은 다음과 같습니다.
SqlConnection con = new SqlConnection(
@"Data Source=(LocalDB)\MSSQLLocalDB ; Initial Catalog= ConStringExample; Integrated Security=True");
C#
의 SQL 연결 문자열 예
이제 데이터베이스에 대한 연결을 설정하기 위해 유지해야 하는 간단한 예를 살펴보겠습니다. 이 데모에서는 연결 문자열을 사용하여 데이터베이스에 연결한 다음 단추를 사용하여 Name
및 Designation
을 ConStringExample
이라는 데이터베이스에 삽입합니다.
-
시작하려면 새
Windows Form
프로젝트를 만들고 원하는 이름을 지정합니다. 이 예에서는 이름을chsarpConnectionStringByZeeshan
으로 지정합니다. -
두 개의 레이블을 사용한 다음
Name
및Designation
레이블이 있고nametextBox
및desigtextBox
필드로 명명된 텍스트 상자를 활용합니다. -
레이블과 텍스트 상자를 사용한 후 다음 단계는
데이터 추가
레이블과addbtn
이라는 이름이 있는 버튼을 포함하는 것입니다. 이 버튼을 클릭하면 데이터가 데이터베이스에 추가됩니다.
양식이 철저히 준비되었으므로 이제 데이터 추가
버튼에 대한 코드를 생성할 차례입니다.
-
시작하려면 다음 라이브러리를 가져와야 합니다.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
-
데이터베이스와의 연결을 설정하기 위해 아래 제공된 연결 문자열을 활용하여 데이터베이스 간의 연결을 생성합니다.
SqlConnection con = new SqlConnection( @"Data Source=(LocalDB)\MSSQLLocalDB ; Initial Catalog= ConStringExample; Integrated Security=True");
-
이제
SqlCommand
유형의 개체를 생성하고cmd
라는 이름을 지정합니다.SqlCommand cmd;
-
데이터 추가
버튼을 두 번 클릭합니다. 이렇게 하면 코드를 작성할 새 이벤트가 생성됩니다. -
이제
SqlCommand
를 사용하고 준비한insert
쿼리를 매개변수로 전달합니다. 이렇게 하면 제공된 테이블에 데이터가 삽입됩니다.SqlCommand cmd = new SqlCommand("insert into Data1 (Name, Designation) values ('" + nametextBox.Text + "','" + desigtextBox.Text + "')", con); cmd.ExecuteNonQuery();
-
데이터를 성공적으로 삽입하면 데이터가 삽입되었다는 메시지가 표시됩니다.
MessageBox.Show("Data inserted successfully");
-
마지막 단계에서는 연결을 닫고 텍스트 상자를 지웁니다.
con.Close(); nametextBox.Clear(); desigtextBox.Clear();
완전한 소스 코드:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace chsarpConnectionStringByZeeshan {
public partial class Form1 : Form {
SqlConnection con = new SqlConnection(
@"Data Source=(LocalDB)\MSSQLLocalDB ; Initial Catalog= ConStringExample; Integrated Security=True");
SqlCommand cmd;
public Form1() {
InitializeComponent();
}
private void addbtn_Click(object sender, EventArgs e) {
con.Open();
SqlCommand cmd = new SqlCommand("insert into Data1 (Name, Designation) values ('" +
nametextBox.Text + "','" + desigtextBox.Text + "')",
con);
cmd.ExecuteNonQuery();
MessageBox.Show("Data inserted successfully");
con.Close();
nametextBox.Clear();
desigtextBox.Clear();
}
}
}
출력:
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