PDA

View Full Version : چک کردن تکراری نبودن id قبل از insert کردن در دیتابیس



farnoosh66
یک شنبه 23 شهریور 1393, 12:56 عصر
با سلام
دوستان می خوام قبل از عمل insert تکست باکسام توی دیتابس،چک کنم که id ایش توی دیتابیسم تکراری نباشه و اگر قبلا ثبت نشده بود عمل insert انجام بشه!!
میشه کدی که بتونه کمکم کنه و بزارید.
با تشکر

Tiam121
یک شنبه 23 شهریور 1393, 13:15 عصر
این کار کد نیاز نداره.شما وقتی توی دیتا بیس id رو به عنوان کلید معرفی کرده باشی به خودی خود تکراری ثبت نمیشه و پیام خطا میده

mohammad reza beizavi
یک شنبه 23 شهریور 1393, 13:18 عصر
درود بر شما
دوست گرامی، بهترین راه برای این مسئله این هست که id جدول رو به عنوان کلید اصلی (Primary key) و is identity رو هم yes کنید. دیگه نیاز به کد نویسی و کاره اضافی ندارید.
اما اگر منظورتون چیز دیگه ای هست واضحتر توضیح بدید.

farnoosh66
یک شنبه 23 شهریور 1393, 15:30 عصر
منظورن همینه، ولی میخوام بتونم خودم پیغام خطای مناسب خودمو بدم، خودش ثبت نکیکنه درست ولی یه خطای داغون میده بعد هنگ منگ میکنه میپره بیرون

دلتنگ اسمان
یک شنبه 23 شهریور 1393, 16:01 عصر
این کدش . با دیتابیس اکسس خودت موارد لازم رو تغییر بده

OleDbConnection con = new OleDbConnection();
OleDbCommand com = new OleDbCommand();
OleDbDataAdapter oda = new OleDbDataAdapter();
DataTable dt = new DataTable();

con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database111.accdb;Jet OLEDB:Database ";

com.Connection = con;
com.CommandText = "SELECT * FROM question_TB where id= " + id;
oda.SelectCommand = com;
con.Open();
com.ExecuteNonQuery();
con.Close();
oda.Fill(dt);
if (dt.Rows.Count > 0)
{
MessageBox.Show("قبلا ثبت شده است");
}

mohammad reza beizavi
یک شنبه 23 شهریور 1393, 16:11 عصر
دیتابیس چیه؟ با چه زبانی مینویسید؟؟؟

farnoosh66
دوشنبه 24 شهریور 1393, 08:55 صبح
دیتابیسم sql server express

Tiam121
دوشنبه 24 شهریور 1393, 09:04 صبح
شما از try , catch استفاده کن و در صورت بروز خطا توی قسمت catch پیام مناسب و مدنظر خودت رو نمایش بده