PDA

View Full Version : جلوگیری از ورود اطلاعات تکراری در دیتابیس از طریق asp



nasim_movie
سه شنبه 05 اسفند 1393, 10:17 صبح
سلام به همگی دوستان

من یک دیتابیس دارم که در یکی از جدول های آن میخوام این قابلیت رو برارم که وقتی نام تکراری میخواست ثبت که به کاربر ارور بده که نام تکراری است و آن را ثبت نکه چطوری باید این کارو بکنم؟

با تشکر

اوبالیت به بو
سه شنبه 05 اسفند 1393, 12:03 عصر
درود بر شما

یک Select می زنید روی جدول مورد نظر و با شرط روی فیلد مورد نظر. اگر رکوردی برگشت داده شد یعنی آن مقدار قبلا وجود داشته است.

fatboy
چهارشنبه 06 اسفند 1393, 07:35 صبح
اون فیلدی که می خواهید تکراری نباشه رو Unique کنید ، در این صورت موقع ثبت خود sql متوجه میشه که نام تکراری هستش.

try
{
//ارتباط با دیتا بیس و نوشتن کوئری ثبت
}
catch
{
//اگر نام تکراری بود به این قسمت می آید - پیام تکراری بودن نام را اینجا بنویسید
}

sara.nessaei
چهارشنبه 06 اسفند 1393, 12:38 عصر
از(.... If Exist(select * from هم میتونید قبل insert استفاده کنید . اینسرت ID رو برمیگردونه اگه null باشه یعنی insert نشده

seven7777777
چهارشنبه 06 اسفند 1393, 12:49 عصر
بهترین کار استفاده از خواص خود sql هست . همونطور که دوستمون گفتن شما فیلد رو unique تعریف کنید
منتها در قسمت catch با توجه به اینکه خطاهای زیادی ممکنه رخ بده ، اول پیام خطا رو چک کنید و بعد برای هر مورد پیام مناسبی نمایش بدید
برای اینکار هم ورودی catch باید متغیری از نوع Exception یا SqlException یا همچین چیزی بزارید