جلوگيري ازثبت داده تكراري
من هنگاميكه مي خواستم اطلاعاتم راازطريق فرم به بانك موردنظر انتقال بدهم كه ازارسال اطلاعات تكراري جلوگيري كنم كدزيررامي نوشتم
Table1TableAdapter1.FillByprsonal(dataSet11. Table1, Convert.ToInt32(txtNumbrePersonal.Text));
if (dataSet11. Table1.Rows.Count == 0)
Table1TableAdapter1.Insert(txtfirstname.Text,txtla stname.Text,
Convert.ToInt32(txtNumbrePersonal)); ,
;( Table1TableAdapter1.Fill(dataSet11.Security
اين كدراهنگاميكه datasetوtableadapterوغيره رابصورت ويزاردبه فرم اضافه كرده بودم انجام مي دادم
حالا بدون ويزاردچگونه مي توانم عمليات موردنظرم راانجام بدهم.
نقل قول: جلوگيري ازثبت داده تكراري
یه راهش اینه که توی جدول یه کلید اصلی تعریف کنی و کد درج در بانک رو توی بلاک try ,catch بذاری.
try
{
Table1TableAdapter1.Insert(txtfirstname.Text, txtlastname.Text, Convert.ToInt32(txtNumbrePersonal));
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
اینطوری اگه رکورد تکراری باشه ثبت نمیشه و یه استثنا رخ میده و بدیهیه که بلاک catch یعنی پیغام خطا نمایش داده میشه
نقل قول: جلوگيري ازثبت داده تكراري
SqlCommand com = newSqlCommand("select * from yourtable where id=@id");
SqlDataReader dr = com.ExecuteReader();
if(dr.HasRows)
{
MessageBox.Show("قبلا این اطلاعات ذخیره شده است ");
dr.Close();
}
else
{
//غیر تکراری
}
منظور از id یکی از فیلدهای جدولت هست که کلید باشه.حتی می تونی چند تا فیلد را که هیچکدوم هم کلید نیستند باهم مقایسه کنی در واقع در شرطتت چیزی را چک می کنی که تکراری بودنش باعث عدم ثبت مجدد اطلاعات می شه...
نقل قول: جلوگيري ازثبت داده تكراري
سلام
مشكلم من اينجاست كه يك textboxدارم ومي خواهم شرط تكراري ياغيرتكراري بودن ازاين textboxمعلوم مي شودحالا مشكل من اينجاست كه چطوري اين textboxراچگونه بادستورات sqlمنطبق كنم.اگرمي شودباكدتوضيح دهيد.
باتشكر
نقل قول: جلوگيري ازثبت داده تكراري
من فرض کردم فیلدی که میخوای چک کنی id است
SqlConnection Con = new SqlConnection("Connection String");
SqlCommand Cmd = new SqlCommand();
Cmd.CommandText = "Insert into TableName ( id, ...) values (@id, ...)";
Cmd.Parameters.AddWithValue("@id", textBox1.Text);
//Add Other Parameters
Cmd.Connection = Con;
Con.Open();
try
{
Cmd.ExecuteNonQuery();
MessageBox.Show("Your Command Accept");
}
catch
{
MessageBox.Show("This ID is existing");
}
finally
{
Con.Close();
}