*کدی که برای حذف اطلاعات یک سطر از دیتا بیس اسکیوئل سرور 2000 استفاده می کنم بصورت زیر است. در ضمن نوع داده ردیف
را آیدنتیتی قرار دادم.
حالا اگر از 5 تا سطری که داریم سومی را حذف کنیم عدد 3 از سطر کاملا پاک شده و چون آیدنتیتی است ازعدد 6 سطر جدید را ایجاد می کند و ...خب مشخصه که نمایش داده ها به این شکل خیلی زشت است که ردیف 3 نداشته باشیم!
نمونه :
try
{
string strCon = ConfigurationSettings.AppSettings["ConnStr"	 3;;
SqlConnection conn = new SqlConnection(strCon);
String strCmd = "DELETE FROM tblUser "+
" WHERE row=@Id1";
SqlCommand cmd = new SqlCommand(strCmd, conn);
cmd.Parameters.Add(new SqlParameter("@Id1",
SqlDbType.Int, 4));
// Initialize the SqlCommand "@Id1" parameter to the ID of the row
// that was clicked.
cmd.Parameters["@Id1"].Value =
DataGrid1.DataKeys[(int)e.Item.ItemInd ex];
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
// Reset the edit mode for the current item
DataGrid1.EditItemIndex = -1;
// create data source again.........
bindToUser();
}
catch(Exception e2)
{
Label1.Text=e2.Message.ToString();
}
}
به نظر شما برای اینکه شماره ها ترتیب عددی اشان را حفظ کرده در عین حال مرتب بوده و در ضمن در دیتا گرید مشکلی برای حذف آنها نباشد چکار باید کرد.
لازم به تذکر است که ما برای افزودن کاربران جدید نیاز به حالت آتو نامبرینگ داریم و غیر قابل اجتناب می باشد.