[c#] 직렬화와 데이터베이스 연동
C#에서 데이터를 영구적으로 저장하고 불러오는 것은 매우 중요합니다. 이를 위해 서버에 연결된 데이터베이스를 사용할 수 있으며, 데이터를 파일로 저장하거나 네트워크를 통해 전송하기 위해 직렬화할 수도 있습니다. 이 문서에서는 C#에서 데이터베이스를 사용하는 방법과 데이터를 직렬화하여 저장하고 불러오는 방법에 대해 알아보겠습니다.
직렬화
직렬화는 객체를 바이트 스트림으로 변환하는 프로세스입니다. 이를 통해 객체를 파일이나 네트워크를 통해 전송하거나 영구 저장할 수 있습니다. C#에서는 System.Runtime.Serialization
네임스페이스를 사용하여 직렬화를 처리할 수 있습니다.
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
public class Person
{
public string Name;
public int Age;
}
public class SerializationExample
{
public static void Main()
{
Person person = new Person { Name = "John", Age = 30 };
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("person.bin", FileMode.Create, FileAccess.Write);
formatter.Serialize(stream, person);
stream.Close();
}
}
위의 예제는 Person
클래스를 직렬화하고 파일로 저장하는 간단한 예제입니다.
데이터베이스 연동
C#에서는 다양한 데이터베이스 시스템에 연결하여 데이터를 저장하고 조회할 수 있습니다. 가장 일반적으로 사용되는 방법은 ADO.NET을 사용하는 것입니다.
using System;
using System.Data;
using System.Data.SqlClient;
public class DatabaseExample
{
static void Main()
{
string connectionString = "Data Source=your_server;Initial Catalog=your_database;User ID=your_username;Password=your_password";
using (SqlConnection connection = new SqlConnection(connectionString))
{
string sql = "SELECT * FROM your_table";
using (SqlCommand command = new SqlCommand(sql, connection))
{
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine($"{reader["Column1"]}, {reader["Column2"]}");
}
reader.Close();
}
}
}
}
위의 예제는 SQL Server 데이터베이스에 연결하여 데이터를 조회하는 간단한 예제입니다.
데이터베이스와 직렬화는 C#에서 데이터를 효과적으로 다루는 중요한 부분입니다. 이러한 기술을 활용하여 안정적이고 효율적으로 데이터를 다룰 수 있습니다.
참고 자료
이 문서는 C#에서 데이터베이스를 연동하고 직렬화하는 방법에 대해 간략하게 소개했습니다. C# 개발 시 데이터 처리에 대해 더 깊이 알아보고 싶다면 위의 참고 자료들을 참고하시기 바랍니다.