PDA

View Full Version : چکار کنم که اطلاعات تکراری در بانک وارد نشه ؟!!! فوری- تحویل



یاسر احسانی
شنبه 16 اسفند 1382, 17:43 عصر
دوستان عزیز یک سوال خیلی کوچیک داشتم اگه لطف کنید جواب خوب و کاملی به من بدید دعا گوتون می شم . :cry:

من یک بانک sql دلفی دارم . می خوام در دلفی کاری کنم که مثلا اگر شماره شناسایی یا مثلا نام و نام خانوادگی نکراری وارد شد پیغام خطای "اطلاعات تکراری می باشد لطفا اصلاح نمایید " را صادر نماید .

البته این جستجو با Locate یا lookup ممکن است اما این دو اول اطلاعات را ذخیره یا بقول خودمان post می کنند بعد پیغام را می دهند . :cry: اما من می خام این پیغام قبل از ثبت اطلاعات بیاید و مانع از ثبت اطلاعات شود .
اگر از PK در SQL هم استفاده کنم نمی شود زیرا پیغام خطا مستقیما از طرف خود دلفی صادر می شود .

من باید تا پس فردا این پروسه رو تحویل بدم لطفا کمکم کنید. مچکرم . :?

Abbas Arizi
شنبه 16 اسفند 1382, 17:53 عصر
به نظر من برای این کار از تابع Count استفاده کنید فرضا:

select count(fieldname) from TableName where FieldName = Value
اگر مقدار برگشتی تابع صفر بود مشخص میشه که این مقدار در جدول وجود نداره. البته از primary key هم برای تضمین استفاده کنید.

hr110
یک شنبه 17 اسفند 1382, 07:54 صبح
با سلام
دوست عزیز شما با استفاده از locate میتوانید به مقصودتان برسید، به فرض اگر میخواهید دو تا نام ali با هم در جدول نداشته باشید هنگامی که ali دوم قرار است وارد شود جواب locate صحیح است یعنی اینکه قبلاً یک ali وارد شده است. و در هنگام ذخیره دوم میتوانید متوجه شده و به کاربر پیغام دهید. ضمناً اگر از datawareها استفاده میکنید میتوانید این پروسه را در فیلد onbeforInsert انجام دهید و اگر وجود داشت با Abort تمامی فعالیتها را کنسل کنید.

موفق باشید