C# WPF에서 LocalDB 또는 SQLite 연동하는 방법
C# WPF 애플리케이션에서 데이터베이스를 연동하면 데이터를 효율적으로 저장하고 관리할 수 있습니다. 이 글에서는 LocalDB와 SQLite를 WPF 애플리케이션에 연동하는 방법을 설명합니다. LocalDB는 SQL Server의 경량 버전이고, SQLite는 파일 기반의 관계형 데이터베이스입니다. 두 데이터베이스 모두 WPF 애플리케이션에서 쉽게 사용할 수 있으며, 각각의 특징과 사용법에 대해 알아보겠습니다.
1. LocalDB란?
LocalDB는 SQL Server의 경량화된 버전으로, 서버 설치 없이 Windows 환경에서 간편하게 사용할 수 있습니다. LocalDB는 SQL Server와 동일한 SQL 쿼리 언어를 사용하지만, 서버를 설치하고 관리할 필요가 없어 소형 애플리케이션에서 유용하게 사용됩니다.
2. SQLite란?
SQLite는 서버리스, 파일 기반의 관계형 데이터베이스로, 데이터베이스 파일이 하나의 독립된 파일로 저장됩니다. SQLite는 가벼운 설치가 필요 없고, 소형 애플리케이션에서 주로 사용됩니다. 작은 규모의 데이터베이스를 요구하는 애플리케이션에서 매우 유용합니다.
3. C# WPF에서 LocalDB 연동하기
LocalDB를 WPF 애플리케이션에 연동하기 위해서는 ADO.NET을 사용할 수 있습니다. 아래는 LocalDB에 연결하여 데이터를 삽입하고 조회하는 간단한 예제입니다.
3.1. LocalDB 연결 설정
먼저 LocalDB에 연결하기 위해서는 System.Data.SqlClient
네임스페이스를 사용해야 합니다. Visual Studio에서 LocalDB는 기본적으로 SQL Server Express LocalDB로 설정되어 있습니다.
using System;
using System.Data.SqlClient;
public class LocalDbService
{
private string connectionString = "Server=(LocalDB)\\MSSQLLocalDB;Integrated Security=true;";
public void InsertData()
{
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var command = new SqlCommand("INSERT INTO Users (Name, Age) VALUES ('John', 30)", connection);
command.ExecuteNonQuery();
}
}
public void GetData()
{
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var command = new SqlCommand("SELECT Name, Age FROM Users", connection);
var reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine($"Name: {reader["Name"]}, Age: {reader["Age"]}");
}
}
}
}
위 코드에서 SqlConnection
객체를 사용하여 LocalDB에 연결하고, SQL 쿼리를 실행하여 데이터를 삽입하거나 조회합니다. LocalDB는 Integrated Security=true
를 사용하여 Windows 인증으로 로그인합니다.
4. C# WPF에서 SQLite 연동하기
SQLite를 WPF 애플리케이션에 연동하는 방법도 매우 간단합니다. SQLite는 System.Data.SQLite 패키지를 사용하여 연결할 수 있습니다. 이 패키지는 NuGet을 통해 설치할 수 있습니다.
4.1. SQLite 패키지 설치
SQLite를 WPF 프로젝트에 설치하려면 NuGet 패키지 관리자를 사용하여 System.Data.SQLite를 설치해야 합니다.
Install-Package System.Data.SQLite
4.2. SQLite 연결 및 데이터 처리
SQLite를 연동하여 데이터를 삽입하고 조회하는 예제는 다음과 같습니다.
using System;
using System.Data.SQLite;
public class SQLiteService
{
private string connectionString = "Data Source=mydatabase.db;Version=3;";
public void InsertData()
{
using (var connection = new SQLiteConnection(connectionString))
{
connection.Open();
var command = new SQLiteCommand("INSERT INTO Users (Name, Age) VALUES ('Alice', 28)", connection);
command.ExecuteNonQuery();
}
}
public void GetData()
{
using (var connection = new SQLiteConnection(connectionString))
{
connection.Open();
var command = new SQLiteCommand("SELECT Name, Age FROM Users", connection);
var reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine($"Name: {reader["Name"]}, Age: {reader["Age"]}");
}
}
}
}
위의 코드에서 SQLiteConnection
을 사용하여 SQLite 데이터베이스에 연결하고, SQL 쿼리문을 실행하여 데이터를 삽입하거나 조회합니다. SQLite는 파일 기반 데이터베이스이기 때문에, Data Source
에 데이터베이스 파일 경로를 지정해 줍니다.
5. 결론
C# WPF 애플리케이션에서 LocalDB와 SQLite를 연동하는 방법에 대해 알아보았습니다. 두 데이터베이스는 각기 다른 장단점이 있지만, 둘 다 가벼운 애플리케이션에서 데이터를 처리하는 데 유용하게 사용됩니다. LocalDB는 SQL Server 기반으로, 복잡한 쿼리와 기능을 지원하는 반면, SQLite는 서버 없이 간편하게 사용할 수 있는 파일 기반 데이터베이스입니다. 여러분의 애플리케이션 요구사항에 맞는 데이터베이스를 선택하여, 효율적인 데이터 관리 및 처리를 할 수 있습니다.
'C#' 카테고리의 다른 글
C#과 클라우드 연동 - 서버리스 개발 및 클라우드 DB 활용 (0) | 2025.03.26 |
---|---|
Blazor 및 .NET MAUI - 최신 .NET 기술을 활용한 앱 개발 (0) | 2025.03.26 |
C# WPF에서 Web API 연동 방법 (REST API, JSON) (1) | 2025.03.25 |
C# WPF에서 Dependency Injection(DI) 적용하기 (0) | 2025.03.25 |
C# Prism 프레임워크로 WPF MVVM 구조 최적화하기 (0) | 2025.03.25 |