[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# 개발 시 데이터 처리에 대해 더 깊이 알아보고 싶다면 위의 참고 자료들을 참고하시기 바랍니다.