PDA

View Full Version : سوال: جلوگیری از ورود داده های تکراری



پایلوت
جمعه 13 آذر 1388, 22:11 عصر
سلام به همگی دوستان و اساتید محترم
من در برنامه خودم یه سری اطلاعات رو از طریق store_p ذخیره میکنم.
چطور میشه از ورود داده های تکراری (در C#‎ یا sql2005( جلوگیری کرد .اطلاعات مربوط به مشخصات پرواز ها در تاریخهای مختلف است.
و فرض میکنیم کاربر جدید از ثبت های انجام شده قبلی اطلاعی نداره!
لطفا راهنمایی بفرمایید.ممنون

saeeedft
جمعه 13 آذر 1388, 23:12 عصر
خب این مشخصات پرواز شما قطعا باید یه فیلد کلیدی داشته باشه تا از سایر پروازهاتون جدا باشه، اگه بیشتر توضیح بدید مطلب روشنتر میشه

Mostafa_Dindar
جمعه 13 آذر 1388, 23:31 عصر
سلام به همگی دوستان و اساتید محترم
من در برنامه خودم یه سری اطلاعات رو از طریق store_p ذخیره میکنم.
چطور میشه از ورود داده های تکراری (در C#‎‎‎‎‎‎ یا sql2005( جلوگیری کرد .اطلاعات مربوط به مشخصات پرواز ها در تاریخهای مختلف است.
و فرض میکنیم کاربر جدید از ثبت های انجام شده قبلی اطلاعی نداره!
لطفا راهنمایی بفرمایید.ممنون
از دستور Not Exist استفاده كنيد :
IF NOT EXIST( SELECT * FROM Table1 WHERE field1=valu1 and field2= valu2 and field3=value3)
BEGIN
INSERT INTO Table1(file1 , file1, field3) VALUES (value1, value2 ,valu3)
END

پایلوت
جمعه 13 آذر 1388, 23:44 عصر
سلام
از پاسختون ممنون،موفق باشید

پایلوت
جمعه 13 آذر 1388, 23:49 عصر
دوست گرامی saeeedft
سلام
با توجه به اینکه حدود 17 آیتم ثبتی در هر رکورد دارای یک کلید بوده و در هنگام لود فرم ثبت ،کلید جدید معرفی میشه و کاربر دوم ممکن است اسامی( فرضا )مهماندار اول و دوم رو در ستونهای متفاوت(از ده ستون) انتخاب کنه
به نظر کلید اصلی کمکی نمیکنه،نظر شما چیه؟

saeeedft
شنبه 14 آذر 1388, 00:10 صبح
شمامیتونید از کلید ترکیبی استفاده کنید،یعنی دو کلید رو به عنوان کلید اصلی برا جدولتون در نظر بگیرید، در این صورت اگر مقادیر ستون های کلید اصلیتون به طور همزمان نمیتوانند مقادیر تکراری رو بپذیرند، اگه بازم من بد متوجه شدم بیشتر و کاملتر توضیح بدید تا اگه کمکی از دستمون براومد کمک کنم

پایلوت
شنبه 14 آذر 1388, 00:29 صبح
دوست عزیزم saeeedft
ممنون از راهنماییتون
به نظر می رسه با توجه به حجم برنامه به دستور دوستمون از همون ابتدا در store _p جلوی مقادیرتکراری رو بگیریم بهتره.از روش شما هم در جاهای دیگه برنامه استفاده خواهم کرد.
بسیار ممنون.

saeeedft
شنبه 14 آذر 1388, 00:36 صبح
ببینید شما اگر میخواهید به طور مطلق هیچ دورکوردی تکراری نشن بله، دستور بالا این کارو براتون میکنه، من فرض رو روی این گذاشتم که شما اگه بخواهید داده ای تکراری در ستونون داشته باشد(نه به صورت همزمان) از این روش میتونید استفاده کنید، شاد باشید