SQLite Update - 전체
SQLite Update - 단일건

using System;


class Program
{
    static void Main()
    {
        string dbPath = "database_all_total.db"; // SQLite 데이터베이스 파일 경로
        string connectionString = $"Data Source={dbPath};Version=3;";

        using (var connection = new SQLiteConnection(connectionString))
        {
            connection.Open();

            // 한 번의 UPDATE로 변환 실행
            string updateQuery = @"
                UPDATE ANESTATEAPTALL
                SET 
                    MainNumber = CAST(MainNumber AS INTEGER),
                    SubNumber = CAST(SubNumber AS INTEGER);";

            using (var command = new SQLiteCommand(updateQuery, connection))
            {
                int rowsAffected = command.ExecuteNonQuery();
                Console.WriteLine($"업데이트 완료! 변경된 행: {rowsAffected}");
            }
        }
    }
}
using System;
using System.Text;

class Program
{
    static void Main()
    {
        string dbPath = "database_all_total.db"; // SQLite 데이터베이스 파일 경로
        string connectionString = $"Data Source={dbPath};Version=3;";

        using (var connection = new SQLiteConnection(connectionString))
        {
            connection.Open();

            string selectQuery = "SELECT MainNumber, SubNumber FROM ANESTATEAPTALL;";
            using (var selectCommand = new SQLiteCommand(selectQuery, connection))
            using (var reader = selectCommand.ExecuteReader())
            {
                StringBuilder updateQuery = new StringBuilder("UPDATE ANESTATEAPTALL SET ");

                // MainNumber 변환 SQL
                updateQuery.Append("MainNumber = CASE ");
                while (reader.Read())
                {
                    string mainNumber = reader["MainNumber"].ToString();
                    string subNumber = reader["SubNumber"].ToString();

                    int newMainNumber = ConvertToInt(mainNumber);
                    int newSubNumber = ConvertToInt(subNumber);

                    updateQuery.Append($"WHEN MainNumber = '{mainNumber}' THEN '{newMainNumber}' ");
                }
                updateQuery.Append("ELSE MainNumber END, ");

                // SubNumber 변환 SQL
                updateQuery.Append("SubNumber = CASE ");
                reader.Close();
                using (var reader2 = selectCommand.ExecuteReader())
                {
                    while (reader2.Read())
                    {
                        string mainNumber = reader2["MainNumber"].ToString();
                        string subNumber = reader2["SubNumber"].ToString();

                        int newSubNumber = ConvertToInt(subNumber);

                        updateQuery.Append($"WHEN SubNumber = '{subNumber}' THEN '{newSubNumber}' ");
                    }
                }
                updateQuery.Append("ELSE SubNumber END;");

                using (var updateCommand = new SQLiteCommand(updateQuery.ToString(), connection))
                {
                    updateCommand.ExecuteNonQuery();
                }

                Console.WriteLine("한 번에 업데이트 완료!");
            }
        }
    }

    static int ConvertToInt(string input)
    {
        return int.TryParse(input, out int result) ? result : 0;
    }
}

+ Recent posts