View Full Version : سوال: علت تأخیر بین adotable1.post و تازه شدن اطلاعات
rk1983xx
شنبه 01 آبان 1389, 00:57 صبح
سلام
من یه برنامه با دلفی نوشتم که اطلاعات رو با یه کوئری نمایش میدم و هر رکوردی که تغییر داده بشه با آبجکت adotable تغییراتش رو post میکنم و بعد دوباره کوئری رو اجرا می کنم تا اطلاعات بروز شده رو نمایش بده ولی هرکاری میکنم این اتفاق نمی افته و معمولا پس از 10 ثانیه اطلاعات بروز میشه(یعنی باید چندین بار کلید رفرش رو بزنم)
کسی میتونه بگه این مشکل علتش چیه و چجوری برطرف میشه ؟
adotable1.Post;
adotable1.Close;
adoquery1.Active:=false;
adoquery1.Active:=true;
adotable1.Open;
Felony
شنبه 01 آبان 1389, 11:21 صبح
چرا برای اضافه کردن رکورد و خواندن اونها از دو شئ مجزا استفاده میکنید ؟ توسط همون ADOTable یا ADOQuery میشه هر دو کار رو بدون مشکل انجام داد .
pezhvakco
شنبه 01 آبان 1389, 11:49 صبح
چرا adotable1 رو می بندی ؟
معمولا پس از 10 ثانیه اطلاعات بروز میشه
این زمان زیاده و برمیگرده به ساختار سیستمت .
یعنی باید چندین بار کلید رفرش رو بزنم
چی رو رفرش می کنی ؟
iman_Delphi
شنبه 01 آبان 1389, 17:09 عصر
احتمال داره اين عمل در ترنزاكشن قرار بگيره و شما ميبايست خود adoquery رو هم ببنديد بعد باز كنين
يعني
adotable1.Post;
adotable1.Close;
adoquery1.close;
adoquery1.open;
adotable1.Open;
rk1983xx
یک شنبه 02 آبان 1389, 09:40 صبح
چرا برای اضافه کردن رکورد و خواندن اونها از دو شئ مجزا استفاده میکنید ؟ توسط همون ADOTable یا ADOQuery میشه هر دو کار رو بدون مشکل انجام داد .
چون اطلاعاتی که نمایش میدم توی لیست جوین شده از 3 تا تیبله
چرا adotable1 رو می بندی ؟
چون فکر کردم اگه ببندمش شاید از توی کش بنویسه توی دیسک و مشکلم حل بشه ولی نشد
این زمان زیاده و برمیگرده به ساختار سیستمت .
به چی سیستم بر می گرده ، میشه توضیح بدید ؟
چی رو رفرش می کنی ؟
منظورم از رفرش همون باز و بسته کردن کوئری برای بازخوانی مجدد اطلاعات است
احتمال داره اين عمل در ترنزاكشن قرار بگيره و شما ميبايست خود adoquery رو هم ببنديد بعد باز كنين
يعني
adotable1.Post;
adotable1.Close;
adoquery1.close;
adoquery1.open;
adotable1.Open;
اگه به کدی که گذاشتم دقت کنید همین کار رو کردم
hossein_h62
یک شنبه 02 آبان 1389, 09:49 صبح
چون اطلاعاتی که نمایش میدم توی لیست جوین شده از 3 تا تیبله
هر چندتا جدول هم که join بزنید نیازی به هر دو اینها نیست و با Adoquery تنها هم میشه اینکار کرد.
rk1983xx
جمعه 07 آبان 1389, 20:26 عصر
هر چندتا جدول هم که join بزنید نیازی به هر دو اینها نیست و با Adoquery تنها هم میشه اینکار کرد.
بله درست میگید ولی من کنترل هام رو بایند کردم به تیبیل ها برای اینکه کاربر ادیت رو راحت انجام بده این کار رو با کوئری که نمیشه انجام داد
rk1983xx
پنج شنبه 13 آبان 1389, 02:06 صبح
هیشکی اینجا نیست جواب منو بده و را نمائیم کنه ؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.