Om din applikation stöder flera användare måste du se till att ändringar inte görs av en annan användare mellan din kontroll efter dubbletter och databasuppdateringen.
Det enklaste sättet att göra detta är, som mbeckish föreslagit, skapa en UNIK begränsning i rubrikkolumnen:
ALTER TABLE maindatabase.animelist
ADD CONSTRAINT U_animelist_TitleAnime UNIQUE (TitleAnime)
Databasmotorn kommer sedan att genomdriva unika titlar och din klient kan hantera användarfeedback genom att fånga eventuella undantag för överträdelse av begränsningar:
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();
}
}