PDA

View Full Version : فیلتر کردن یک ADOQuery با استفاده از رویداد ONChange



داوود
شنبه 30 مهر 1384, 14:39 عصر
من می خوام یه ADOQuery رو با استفاده از حروفی که در Edit وارد می شود فیلتر کنم
در رویداد OnChangh نوشتم
ADOQuery1.Active:=FALSE;i
ADOQuery1.SQL.Clear;i
ADOQuery1.SQL.Add('SELECT * ');i
ADOQuery1.SQL.Add('FROM moshakhasat');i
ADOQuery1.SQL.Add('WHERE (sfamily LIKE ''%'+trim(EDIT1.TEXT)+'%'') ');i
ADOQuery1.ExecSQL;i
ADOQuery1.Active:=TRUE;i
ولی هنگام اجرا هیچ عکس العملی نشون نمیده
در صورتی که همین دستورات در مورد Query معمولی اجرا میشه.

Touska
شنبه 30 مهر 1384, 15:37 عصر
از این استفاده کن :


ADOQuery1.Active:=FALSE;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM moshakhasat WHERE sfamily LIKE '+quotedstr('%'+EDIT1.TEXT+'%'));
ADOQuery1.Active:=TRUE;

babak869
شنبه 30 مهر 1384, 17:17 عصر
سلام
این رو امتحان کن ببین جواب میده؟


AdoQuery1.Active:=FALSE;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('SELECT * ');
AdoQuery1.SQL.Add('FROM Table1');
AdoQuery1.SQL.Add('WHERE (family LIKE ''%'+ EDIT1.TEXT+'%'') ');
AdoQuery1.ExecSQL;
AdoQuery1.Active:=TRUE;

موفق باشید

vcldeveloper
دوشنبه 02 آبان 1384, 03:14 صبح
نیازی به AdoQuery1.ExecSQL نیست