View Full Version : سوال: كمك در جستجو قبل از درج
amir190d
شنبه 16 شهریور 1387, 18:23 عصر
سلام دوستان امروز من تحويل پروژه داشتم به يك مشكل خوردم حالم گرفته شد اگه مي شه يك كد ي برام قرار بدين مشكلم حل بشه اول اينك موقعي كه مي خوام اطلاعات تو بانكم (dbisam)درج كنم قبلش يك جستجو باشه كه طرف قبل از درج يك جستجو بكنه اگه در بانك چيزي نبود درج كنه البته من كليد اصلي تعريف كردم ولي مي خوام براي همون خطايي كه ممكنه رخ بده اين كار بكنم ولي يك مشكل ديگه كه هست اگه ما 1000 تا ركورد داشتيم طرف كه جستجو مي كنه بايد 1000 بار جستجو كنه چو ن نمي دونه كدام ركور دها خالي است:عصبانی++::اشتباه:
Hsimple11
شنبه 16 شهریور 1387, 18:31 عصر
جستجو کنه که ببینه جدول خالی است؟ یا رکورد تکراری وجود دارد؟
در مورد دوم اگر داده ها را لود کرده اید از Locate استفاده کنید. همین کلمه را جستجو کنید.
برای مدیریت خطا ها هم مثل Duplicate Record از Try/Except استفاده کنید.
SYNDROME
شنبه 16 شهریور 1387, 18:57 عصر
نگفتید از چه بانکی استفاده می کنید؟
موفق باشید
Hsimple11
شنبه 16 شهریور 1387, 19:07 عصر
نگفتید از چه بانکی استفاده می کنید؟
گفتند DBISAM.
منظورتون Connection هست جناب سیندروم؟
amir190d
شنبه 16 شهریور 1387, 21:27 عصر
دوست عزيز گفتم dbisam بعدش من گفتم من كليد اصلي برنامه ام كه اي دي هست گذاشتم بعد كليد ويرايش غير فعال بعد اگه طرف جستجو كرد مقدار تكراري بود اجازه ويرايش نده بعد اگه كراري نبود اجازه بده حالا اگه كدي يا روشي داريد ممنونم
SYNDROME
شنبه 16 شهریور 1387, 23:03 عصر
دوست عزيز گفتم dbisam بعدش من گفتم من كليد اصلي برنامه ام كه اي دي هست گذاشتم بعد كليد ويرايش غير فعال بعد اگه طرف جستجو كرد مقدار تكراري بود اجازه ويرايش نده بعد اگه كراري نبود اجازه بده حالا اگه كدي يا روشي داريد ممنونم
یکی از روشها استفاده از Locate است(همانطور که دوستمان گفت)
IF Not ADO.Locate('ID',Value,[]) Then
Begin
// دستورات ذخیره سازی
End
Else
// پیغام رکورد تکراری
موفق باشید
Hsimple11
یک شنبه 17 شهریور 1387, 00:51 صبح
من كليد اصلي برنامه ام كه اي دي هست گذاشتم بعد كليد ويرايش غير فعال بعد اگه طرف جستجو كرد مقدار تكراري بود اجازه ويرايش نده بعد اگه كراري نبود اجازه بده
1- جملات را واضح بنویسید.
2- جستجو میکردید تاپیکهای زیادی در این مورد بحث شده بود.
3- جواب شما که داده شده بود.
4- اگه فیلد شما P_K است نیازی به چک کردن که ندارید. خود بانک شما اجازه ثبت مقادیر تکراری را نمیدهد. برای مدیریت خطا هم گفته شد چه کنید.
5- به هرحال برای چک کردن میتوانید از Locate یا LookUp استفاده کنید.
موفق باشید.
amir190d
یک شنبه 17 شهریور 1387, 04:10 صبح
دوستان عزيز ممنون امتحان مي كنم ببينم چي مي شه با تشكر
amir190d
یک شنبه 17 شهریور 1387, 04:22 صبح
در ضمن مشكل دومي كه برنامه ام پيدا كرد اين بود كه من مي خواهم در بانكم بعضي از فيلد ها اختياري و بعضي پر كردنش اجباري حالا بايد چه كار بكنم ولي من در sql اگه فيلدي خالي باشه پيغام مي ده و اگه پر نكني ايراد نم گيره اما در dbisam تا انجا كه من كار كردم بايد همه فيلد ها پر باشه و اگه يكي خالي باشه هنگ مي كنه حالا من چه طوري مي تونم بعضي از فيلد ها را اختياري و بعضي اجباري كنم با تشكر
amir190d
یک شنبه 17 شهریور 1387, 11:02 صبح
كسي از دوستان هست جواب سوالم بده ببخشيد اينجا جاي اين سوال نيست ولي گفتم پست الكي ايجاد نكنم
Hsimple11
یک شنبه 17 شهریور 1387, 11:18 صبح
این مسئله به پایگاه داده شما برمیگرده. تنظیماتی مانند Allow Null در سمت بانک انجام میشه. البته خودتونم میتونید با یک شرط هنگام Post داده ها در برنامه از ورود null جلوگیری کنید.
amir190d
یک شنبه 17 شهریور 1387, 13:17 عصر
دوستان سوال منم تو ماي هاي همينه من در فرمم 2 تا maskedit دارم كه يكي تاريخ شروع و يكي پايانه حالا من چطوري مي تونم چك كنم كه قبل از درج در بانك طرف تاريخ پايان كوچكتر از تاريخ شروع در ج نكنه با تشكر
Hsimple11
یک شنبه 17 شهریور 1387, 13:56 عصر
در پست دیگری جواب داده شد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.