C#에서 데이터베이스에 연결하고 레코드 집합을 반복하기
현대 소프트웨어 개발에서 데이터베이스와 상호작용하는 것은 기본적인 작업입니다. 웹 애플리케이션, 데스크톱 소프트웨어 또는 데이터 기반 시스템을 개발하든지 간에, 데이터베이스에 연결하고 데이터를 검색하는 방법을 아는 것은 매우 중요합니다. 이 블로그 포스트에서는 C#에서 데이터베이스에 연결하고 레코드 집합을 반복하는 가장 간단한 방법을 탐구합니다.
문제 이해하기
눈앞의 작업은 간단합니다: C#에서 데이터베이스에 연결하고 레코드 집합을 검색하는 방법은 무엇입니까? 다양한 데이터베이스 기술이 있지만, 이 예제에서는 OleDb
제공자를 사용하여 SQL Server에 초점을 맞추겠습니다.
환경 설정하기
코드에 뛰어들기 전에 다음을 준비해 주십시오:
- Visual Studio 또는 기타 C# 개발 환경.
- 실행 중인 SQL Server 인스턴스.
- 레코드를 검색하기 위한 데이터베이스와 테이블.
연결 설정하기
먼저, 데이터베이스에 연결을 설정해야 합니다. 방법은 다음과 같습니다:
1단계: 필요한 네임스페이스 포함하기
C# 파일의 맨 위에 아래 코드 스니펫을 사용하여 필요한 네임스페이스를 포함하세요:
using System.Data.OleDb;
2단계: 연결 문자열 만들기
연결 문자열에는 데이터베이스에 연결하는 데 필요한 모든 정보가 포함됩니다. 예시는 아래와 같습니다:
string connectionString = "Provider=sqloledb;Data Source=yourServername\\yourInstance;Initial Catalog=databaseName;Integrated Security=SSPI;";
3단계: 연결 설정하기
이제 연결을 생성하고 데이터를 가져오기 위한 명령을 실행할 수 있습니다:
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
using (OleDbCommand cmd = new OleDbCommand())
{
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "Select * from yourTable";
중요 참고 사항
명령을 실행하기 전에 conn.Open();
을 호출하여 닫힌 연결과 관련된 일반적인 문제를 피하십시오.
레코드 반복하기
연결과 명령을 설정한 후, 데이터베이스에서 검색한 결과를 반복할 시간입니다:
4단계: 데이터 실행 및 읽기
DataReader
를 사용하여 레코드를 하나씩 읽을 수 있습니다:
using (OleDbDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
Console.WriteLine(dr["columnName"]);
}
}
코드 설명
cmd.ExecuteReader()
는 명령을 실행하고DataReader
를 반환합니다.dr.Read()
는 결과 집합의 다음 레코드로 이동합니다.- 개별 열은
dr["columnName"]
을 사용하여 이름을 통해 접근할 수 있습니다.
전체 코드 예제
모든 것을 종합하여, 데이터베이스에 연결하고 레코드 집합을 반복하기 위해 사용할 전체 코드는 다음과 같습니다:
using System;
using System.Data.OleDb;
class Program
{
static void Main()
{
string connectionString = "Provider=sqloledb;Data Source=yourServername\\yourInstance;Initial Catalog=databaseName;Integrated Security=SSPI;";
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
using (OleDbCommand cmd = new OleDbCommand())
{
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "Select * from yourTable";
using (OleDbDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
Console.WriteLine(dr["columnName"]);
}
}
}
}
}
}
결론
C#에서 데이터베이스에 연결하고 레코드를 검색하는 것은 프로세스를 이해하면 상대적으로 쉬운 작업입니다. 이러한 단계를 따르면 효과적으로 데이터를 가져오고 애플리케이션의 필요에 따라 이를 조작할 수 있습니다. 이 예제는 단지 시작일 뿐이며, C#은 더욱 복잡한 데이터베이스 작업을 위한 다양한 라이브러리와 도구를 제공합니다.
이제 기본을 익혔으니, 레코드를 삽입, 업데이트 또는 삭제하거나 데이터베이스 예외를 처리하는 등의 더 고급 기능을 탐험할 수 있습니다. 코딩을 즐기십시오!