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#은 더욱 복잡한 데이터베이스 작업을 위한 다양한 라이브러리와 도구를 제공합니다.

이제 기본을 익혔으니, 레코드를 삽입, 업데이트 또는 삭제하거나 데이터베이스 예외를 처리하는 등의 더 고급 기능을 탐험할 수 있습니다. 코딩을 즐기십시오!