PDA

نسخه کامل مشاهده نسخه کامل : مشكل با adoquery



1795
17-11-2007, 08:59
با سلام خدمت دوستان
فرض كنيد در حالي كه پايگاه داده ما در اكسس است ما در فرمي يك query بگيريم بصورت زير
select * from table1 where code=:edit1
و بقيه دستورات پارامتري مورد نياز رو هم بنويسيم . حالا با اجراي برنامه و اجراي كووري اگه ركوردي پيدا شود ما براي بستن ركورد يعني adoquery1.close مشكلي نداريم ولي اگر اجراي query نتيجه اي نداشته باشه يعني ركوري پيدا نكنه ركوردي هم نمايش داده نميشه كه تا اينجا مشكلي هم نداريم اما با بستن كووري يعني با اجراي دستور adoquery1.close برنامه دچار خطا ميشه و ارور ميده و ميگه bof or eof شما true .
اگه ميشه تست كنيد چيزي رو كه گفتم تا بهتر بفهميد و بتونيد جواب بديد كه من چطور ميتونم اين مشكل رو حل كنم فقط نگيد يه راه ديگه رو برم چون من ميخوام از همين روش حلش كنم.
با تشكر فقط اين مسئله ضرب العجلي ممنونتونم

مرد مباح
17-11-2007, 12:05
اين چيزي كه شما ميگيد گهگاهي پيش مياد.
ولي در اكثر اوقات Error نيست.
يعني در اجراي برنامه EXE اونو نميبينيد و فقط توي حالتي كه برنامه از دلفي اجرا شده باشه ديده ميشه
شما تست كن و خبر بده.

1795
17-11-2007, 14:39
با سلام
عزيزم اصلا اول كار فايل exe اون اين خطا رو داد و بعد تو خود دلفي ما باهاش گير كرديم .

F A R H A D
18-11-2007, 07:21
با سلام. کدی رو که برای کوئری نوشتی به صورت کامل اینجا قرار بده

1795
18-11-2007, 08:54
با سلام
عزيزم دستور خاصي نيست شما همين كاري رو كه من گفتم انجام بديد مي بينيد كه اين مشكل براي شما هم پيش مياد . يه كووري بنويسيد براي يك جدول و طوري باشه كه هيچ ركوردي بدست نياره حالا وقتي مي خوايد كووري رو ببنديد يعني مي نويسيد :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مي بينيد كه پيغام خطا ميده . كمك يادتون نره

مرد مباح
18-11-2007, 10:22
ميتوني قبل از Close تيبل، متن Query رو به حالت عادي برگردوني.
براي مثال :
Select * from Table

و بعد ببنديش.اينجوري قاعدتا نتيجه ميگيري.
تست كن و خبر بده.

1795
18-11-2007, 13:58
ميتوني قبل از Close تيبل، متن Query رو به حالت عادي برگردوني.
براي مثال :
Select * from Table

و بعد ببنديش.اينجوري قاعدتا نتيجه ميگيري.
تست كن و خبر بده.

با سلام
حرف شما كاملا درسته و قطعا خطا نميده و من هميني كه شما دوست عزيز گفتيد رو موقتا استفاده مي كنم ولي به اين ميگن ترفند و من ميخوام بدونم توي دستورات خود دلفي دستوري وجود داره كه اين مسئله رو حل كنه مثلا من قبل از بستن كنسل كردم ولي بازم همون اتفاق افتاد . ميخوام يه دوستوري باشه مثل كنسل و امثالهم
در هر صورت از كمكتون متشكرم

delphianddotnet
18-11-2007, 14:11
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

1795
19-11-2007, 11:53
با سلام
خوب ظاهرا د نويسي من با شما فرق داره من اينطوري مي نويسم :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

1795
19-11-2007, 12:22
با سلام
يه سوال ديگه هم دارم . من روي فرم يك شئ maskedit دارم كه بصورت__/__/_138 تنظيمش كردم اما مشكل اينه كه وقتي مي خام ازش خارج بشم اگه هيچ اطلاعاتي وارد نكرده باشم خطا ميده و من نمي خوام اينطور باشه و تو اين حال خطا نده . اگه ميشه راهنمايي كنيد.
با تشكر

delphianddotnet
19-11-2007, 12:33
با سلام
يه سوال ديگه هم دارم . من روي فرم يك شئ maskedit دارم كه بصورت__/__/_138 تنظيمش كردم اما مشكل اينه كه وقتي مي خام ازش خارج بشم اگه هيچ اطلاعاتي وارد نكرده باشم خطا ميده و من نمي خوام اينطور باشه و تو اين حال خطا نده . اگه ميشه راهنمايي كنيد.
با تشكر
اگه یه تاپیک راجبش میزدی بد نبود ولی به حر حال
من یه تابع نوشتم که این خطا را کنترل میکنه برو حالشو ببر :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

نحوه استفاده

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

1795
20-11-2007, 07:58
با سلام
خدمت دوستان بزرگوار كه من رو قابل دونستند و جوابم رو دادند

delphianddotnet عزيز بابت پست شماره 11 از شما سپاس گذارم امتحان مي كنم و جوابشو بهتون اطلاع مي دم . اما در مورد پست شماره 8 بايد عرض كنم تو روش نوشتن من چون من دارم از طريق كووري دنبال يك كد مي گردم كه كليد اصلي هم هست در صورت موجود بودن دقيقا همون ركوردي رو پيدا مي كنه كه مد نظر ماست ولي توي روش نوشتن شما QuotedStr موردهاي مشابه رو هم پيدا ميكنه مثلا اگه من دنبال كد 11 بگردم 111 دو هم پيدا مي كنه يا 211 رو هم پيدا مي كنه كه درست نيست در واقع به نوعي ميشه كفت QuotedStr براي كار ----- كردن مناسبه نه توي مورد كاري من

مرد مباح جان ضمن تشكر از پست شماره 6 بايد بگم متاسفانه اين كار امكان پذير نيست يعني ما نمي تونيم قبل از بستن يك adoquery براش يه كامند ديگه بنويسيم حتما قبليه بايد close بشه تا بتونيم دستور جديد رو بنويسيم .

1795
22-11-2007, 08:20
delphidotnet عزيز ضمن عرض سلام برنامه شما با يه تغييرات كوچولو درست كار كرد. از شما صميمانه متشكرم