روش صحیح رفرش کردن دیتا بیس چیه ؟
دوستان من یه بانک اطلاعاتی دارم که با sql server 2008 r2 نوشته شده با adotable , adoquery
وقتی توی یه صفحه یه اطلاعاتی را تغییر میدم ، بعدش توی یه صفحه دیگه اونارو فرا میخونم توی صفحه جدید هنوز اطلاعات قبلی نمایش داده میشه و برای اینکار باید دیتا بیس را ریفرش کنم من از روش زیر استفاده میکنم
نقل قول:
ADOTable1.Active:=false;
ADOTable1.Active:=true;
اما اینکار چند ثانیه طول میکشه که این مدت زمان کاربرو اذیت میکنه
بنظرتون باید چکار کنم روش دیگه ای برای رفرش کردن وجود داره ؟ یا کلا روش ذخیره دیتایی که استفاده میکنم اشتباهه و اصلا احتیاجی به رفرش کردن نیست ؟ ممنون میشم راهنمایی کنید
نقل قول: روش صحیح رفرش کردن دیتا بیس چیه ؟
سلام
شما دوست عزیز Adotable خودتون رو داخل یک data module قرار بدید.
تغییرات و نمایش اطلاعات این جدول رو در تمامی فرم ها از این adotable فراخوانی و یا نمایش بدید.
فکر کنم شما در هر فرم یک adotable گذاشته اید.
نقل قول: روش صحیح رفرش کردن دیتا بیس چیه ؟
نه عزیز جان اتفاقا توی دیتا ماژول است اما حجم دیتا بیس و تعداد رکورد ها که بالا بره این مدت ژمان به وجود میاد
نقل قول: روش صحیح رفرش کردن دیتا بیس چیه ؟
اگر امکانش کوئری رو اینجا قرار بدید
نقل قول: روش صحیح رفرش کردن دیتا بیس چیه ؟
نقل قول:
With DataModule2.ADOQuery1 do
begin
Active:=false;
Active:=true;
Close;
SQL.Clear;
sql.Text:='select * from Tab1';
Open;
end;
اون قسمتی که اکتیو و فالس و ترو میکنم چند ثانیه زمان میبره که کاربرو اذیت میکنه و میخام این مدت زمانو حذف کنم
نقل قول: روش صحیح رفرش کردن دیتا بیس چیه ؟
With DataModule2.ADOQuery1 do
begin
Active:=false;
Active:=true;
Close;
SQL.Clear;
sql.Text:='select * from Tab1';
Open;
end;
نقل قول: روش صحیح رفرش کردن دیتا بیس چیه ؟
اگر یک جا Dataset رو قرار دادید (مثلا در داخل data moudle) و تمامی کنترل هاتون از یکجا ارتباط گرفتن روش کار درست هست.
ولی اینکه با رفرش کردن Dataset زمان می بره :
- آیا حجم داده فراخوانی شده خیلی زیاد هست (نمیشه با فیلتر کردن داده مثلا داده های روز حجم داده رو کمتر کرد) - چون شما بدون شرط و با * داده رو فراخوانی کردید.
موفق باشید