Привет, я создал программу, которая считывает последнюю строку таблицы и генерирует номер идентификатора в соответствии с последним сгенерированным номером идентификатора, но все же программа создает дубликат идентификационного номера, который уже находится в таблице. мой код, как: следоватьповторяющийся идентификатор, сгенерированный в идентификаторе, автоматически генерирует код в C#?
private void get_code()
{
try
{
con = new OleDbConnection(c.connectionstring);
con.Open();
string sql = "select code from bookings";
adp = new OleDbDataAdapter(sql, con);
DataSet ds = new DataSet();
adp.Fill(ds, "BOOKINGS");
if (ds.Tables[0].Rows.Count > 0)
{
int ctr, len;
string codeval;
DataRow dr;
DataTable dt;
string code;
dt = ds.Tables["bookings"];
len = dt.Rows.Count -1;
dr = dt.Rows[len];
code = dr["code"].ToString();
codeval = code.Substring(2, 3);
ctr = Convert.ToInt32(codeval);
if ((ctr >= 1) && (ctr < 9))
{
ctr = ctr + 1;
Code.Text= "B-00" + ctr;
}
else if ((ctr >= 9) && (ctr < 99))
{
ctr = ctr + 1;
Code.Text = "B-0" + ctr;
}
else if (ctr >= 99)
{
ctr = ctr + 1;
Code.Text = "B-" + ctr;
}
}
else
{
Code.Text= "B-001";
}
con.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error Occured : "+ex.Message,"Tailor Master",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
в следующий сценарий такова: если последний идентификатор был б-005 он снова генерироваться то же самое.
Помогите решить проблему. Заранее спасибо.
Хариш Шарма
Не считая того, что не так с кодом, рассмотрели ли вы, что может произойти, если две копии вашей программы работают в очень похожие моменты? –