Jika aplikasi Anda mendukung banyak pengguna, Anda perlu memastikan bahwa perubahan tidak dilakukan oleh pengguna lain antara pemeriksaan duplikat dan pembaruan basis data.
Cara termudah untuk melakukannya adalah seperti yang disarankan mbeckish, buat batasan UNIK pada kolom judul:
ALTER TABLE maindatabase.animelist
ADD CONSTRAINT U_animelist_TitleAnime UNIQUE (TitleAnime)
Mesin database kemudian akan menerapkan judul unik dan klien Anda dapat menangani umpan balik pengguna dengan menangkap pengecualian pelanggaran batasan:
void checkData()
{
SuspendLayout();
try
{
updateData();
}
catch (Exception ex)
{
MySqlException sqlEx = ex as MySqlExecption;
// If there is a constraint violation error.
// (I may have the wrong error number, please test.)
if (sqlEx != null && sqlEx.Number == 1062)
{
my = Form.ActiveForm as MyList;
my.msg = new Message_Box();
my.msg.Descrip.Text = "Record is already in the Database";
my.msg.Title.Text = "Duplicate Record";
my.msg.ShowDialog();
}
else
{
MessageBox.Show("" + ex);
}
}
finally
{
ResumeLayout();
}
}