PDA

View Full Version : سوال: بروز شدن ADOQuery و ADOTable همزمان



Mask
جمعه 25 دی 1388, 23:56 عصر
با سلام
سوالم رو با یک مثال شروع میکنم.
من یه فرم دارم که دوتا دیبی گرید روشه و یک ادیت و یک باتن.
یکی از دیبیگرید هام با آدو کوئری وصله به تیبل 1 و دیبی گرید دوم هم با آدوتیبل وصله به همون تیبل1. حالا سوال اینجاست که وقتی من داخل ادیت متنی رو مینویسم و روی باتن کلیک میکنم و چون ثبت رو با آدو تیبل انجام میدم فقط یکی از گرید هام نشون میده ثبت جدید رو.
چیکار کنم که با اینکه با آدوتیبل اطلاعات رو ثبت می کنم اون گریدی که به آدو کوئری وصله هم آخرین اطلاعات ثبت شده رو نشون بده.
ممنون از جوابتون.

Felony
شنبه 26 دی 1388, 04:15 صبح
اون ADOQuery رو یک بار ببند و دوباره باز کن ، شاید متد Refresh هم بتونه کارت رو راه بندازه .

Borland-Delphi7
شنبه 26 دی 1388, 07:16 صبح
خوب معلومه بعد از ثبت با تیبل بیا کوئریتو کلوز و اوپن کن

ولی در کل راحت اشتباست اگر حجم اطلاعاتت زیاد باشه با کلوز و اوپن سرعت زیادی میگیره از چه دیتابیسی استفاده میکنی تا راهنماییت کنم

Mask
شنبه 26 دی 1388, 11:57 صبح
خوب معلومه بعد از ثبت با تیبل بیا کوئریتو کلوز و اوپن کن

ولی در کل راحت اشتباست اگر حجم اطلاعاتت زیاد باشه با کلوز و اوپن سرعت زیادی میگیره از چه دیتابیسی استفاده میکنی تا راهنماییت کنم
ممنون از دوستان بابت جواب.
بانک اکسس هست.
من کلوز و اپن می کنم اما یکی از گرید ها همیشه یه رکورد از اون یکی عقبتره.
برای مثال یه نمونه ضمیم کردم.که محبت کنید و نگاش کنید متوجه عرایض بنده میشید.

Felony
شنبه 26 دی 1388, 12:34 عصر
این کد دکمه Insert هست که شما نوشتید :

ADOTable1.Close;
ADOTable1.Open;
ADOQuery1.Close;
ADOQuery1.Open;

ADOQuery1.Active:=True;
ADOQuery1.Insert;
ADOQuery1.FieldByName('radif').AsString:=Edit1.Tex t;
ADOQuery1.FieldByName('nam').AsString:=Edit2.Text;
ADOQuery1.Post;
اول جدول رو باز و بسته میکنید ، بعد رکورد رو اضافه میکنید ، توقع چه کاری دارید ؟

کد رو به این شکل تغییر بدید :

ADOQuery1.Active:=True;
ADOQuery1.Insert;
ADOQuery1.FieldByName('radif').AsString:=Edit1.Tex t;
ADOQuery1.FieldByName('nam').AsString:=Edit2.Text;
ADOQuery1.Post;

ADOTable1.Close;
ADOTable1.Open;
ADOQuery1.Close;
ADOQuery1.Open;

حسین شهریاری
شنبه 26 دی 1388, 12:43 عصر
سلام

بجای باز و بسته کردن کوئری از کد زیر هم میشه استفاده کرد.


AdoQuery.Requery()