چگونه خطای ثبت رکورد با کلید تکراری Npgsql در سی شارپ را هندل کنیم؟

mohsen2 هفته قبل
ارسال شده در
mohsen

اگر در سی شارپ و کار با کتابخانه Npgsql برای ارتباط با پایگاه داده Postgresql خطای ثبت رکورد با کلید تکراری را هندل کنیم. می توانیم به روش زیر عمل کنیم:

      public void InsertData(MyData data)
    {
        using (var connection = new NpgsqlConnection(_connectionString))
        {
            connection.Open();
            using (var command = new NpgsqlCommand("INSERT INTO your_table (column1, column2) VALUES (@column1, @column2)", connection))
            {
                command.Parameters.AddWithValue("@column1", data.Column1);
                command.Parameters.AddWithValue("@column2", data.Column2);

                try
                {
                    command.ExecuteNonQuery();
                }
                catch (NpgsqlException ex)
                {
                    if (ex.SqlState == "23505") // کد خطای کلید تکراری
                    {
                        // هندل کردن خطا به روش دلخواه
                        Console.WriteLine($"Duplicate key violation: {ex.Message}");
                    }
                    else
                    {
                        // هندل کردن سایر خطاها
                        Console.WriteLine($"An error occurred: {ex.Message}");
                        
                    }
                }
            }
        }
    }
    

متن خطای مورد نظر به صورت زیر می باشد:

      23505: duplicate key value violates unique constraint "...."
    
رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!