View Full Version : درخواست معرفی یک جانشین مناسب بجای adoquery.requery
nimakaiedi
سه شنبه 28 اردیبهشت 1389, 09:03 صبح
سلام
ببخشید می دونم که سوالم قدیمیه اما من چیزی پیدا نکردم..
موقعی که میخوام یک adoquery رو به روز رسانی کنم یا در اصطلاح close open کنم یا از همون requery استفاده کنم یک break شاید 2ثانیه ای توی اجرای برنامه به وجود میاد
می خوام بدونم ممکنه یک راهی به من معرفی کنید که این وقفه بوجود نیاد؟؟؟
جداول و query مشکلی نداره فقط ایراد از سرعت اجرا شدن requery بوجود میاد
ممنون
حسین شهریاری
سه شنبه 28 اردیبهشت 1389, 11:40 صبح
جانشین خاصی وجود ندارد.یا Requery و یا close/open کردن میتونه این کارا انجام بده.
برای کاهش اون زمان باید جداول و نحوه Query زدنتونا بهینه کنید.
البته پیشنهاد میکنم یه تحقیقی در مورد برنامه نویسی Thred بکنید شاید بتونه مشکل شما را حل کنه.
M aJi D
سه شنبه 28 اردیبهشت 1389, 11:42 صبح
سلام.
اگر منظورت در جا بعد از اضافه كردن ركوردي باشه فكر ميكنم به جاي close , open ازactive استفاده كني 1كم سريع تر باشه.
adoquary.active := false;
adoqouary.active := true;
nimakaiedi
سه شنبه 28 اردیبهشت 1389, 13:06 عصر
جانشین خاصی وجود ندارد.یا Requery و یا close/open کردن میتونه این کارا انجام بده.
برای کاهش اون زمان باید جداول و نحوه Query زدنتونا بهینه کنید.
البته پیشنهاد میکنم یه تحقیقی در مورد برنامه نویسی Thred بکنید شاید بتونه مشکل شما را حل کنه.
ممنون
میشه راجع بهش توضیح بدید یا منبعی معرفی کنید
مرسی
nimakaiedi
سه شنبه 28 اردیبهشت 1389, 13:10 عصر
سلام.
اگر منظورت در جا بعد از اضافه كردن ركوردي باشه فكر ميكنم به جاي close , open ازactive استفاده كني 1كم سريع تر باشه.
adoquary.active := false;
adoqouary.active := true;
بعید میدونم این دوتا (close open و active true false) از نظر زمانی با هم فرقی داشته باشن
از نظر معنی که کاملا مثل همن
بازم استاتید نظر بدن خیلی خوبه
حسین شهریاری
سه شنبه 28 اردیبهشت 1389, 18:04 عصر
سلام
بعید میدونم این دوتا (close open و active true false) از نظر زمانی با هم فرقی داشته باشن
بله حق با شماست هیچ فرقی از نظر صرف زمان با هم ندارند.
درمورد Thred ها در سایت جستجو بزن با همین عنوان آقای کشاورز تاپیکهای زیادی در این مورد زده اند.نهایتا میتونید به خودشون پیام خصوصی بزنید.
موفق باشید
alinikaein
چهارشنبه 29 اردیبهشت 1389, 11:39 صبح
سلام دوست عزيز؛
شما قبل از اين كار از DisableControl و بعد هم از EnableControl استفاده كنيد. در اين حالت، شايد مقداري سرعت شما افزايش پيدا كنه.
يا علي... موفق باشيد...
nimakaiedi
چهارشنبه 29 اردیبهشت 1389, 12:23 عصر
سلام دوست عزيز؛
شما قبل از اين كار از DisableControl و بعد هم از EnableControl استفاده كنيد. در اين حالت، شايد مقداري سرعت شما افزايش پيدا كنه.
يا علي... موفق باشيد...
این که گفتی یعنی چه؟؟؟
حمیدرضاصادقیان
چهارشنبه 29 اردیبهشت 1389, 13:05 عصر
سلام.
وقتی شما از disablecontrols استفاده میکنید ارتباط دیتاست شما به کامپوننتها مانند dbgrid,dbedit,... قطع میشه و زمان بروز شدن شما سریعتر انجام میشه.
و بعد از اینکه عملیات بروزرسانی تمام شد شما دوباره این ارتباط رو بادستور Adoquer.enablecontrols برقرار میکنید.
موفق باشید.
vcldeveloper
چهارشنبه 29 اردیبهشت 1389, 21:07 عصر
اگر منظورت در جا بعد از اضافه كردن ركوردي باشه فكر ميكنم به جاي close , open ازactive استفاده كني 1كم سريع تر باشه.
فعال/غیر فعال کردن خصوصیت Active و استفاده از Open\Close دقیقا مثل هم هست، و استفاده از هر یک از آنها نسبت به دیگری برتری در کارایی کد نداره.
nimakaiedi
شنبه 01 خرداد 1389, 09:18 صبح
سلام.
وقتی شما از disablecontrols استفاده میکنید ارتباط دیتاست شما به کامپوننتها مانند dbgrid,dbedit,... قطع میشه و زمان بروز شدن شما سریعتر انجام میشه.
و بعد از اینکه عملیات بروزرسانی تمام شد شما دوباره این ارتباط رو بادستور Adoquer.enablecontrols برقرار میکنید.
موفق باشید.
این چیزی که شما گفتید من اینجوری درک کردم
adoquery1.disablecontrol
adoquery1.close
adoquery1.open
adoquery1.enablecontrol
حسین شهریاری
شنبه 01 خرداد 1389, 09:27 صبح
بله درست متوجه شدید!
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.