2009-11-20

ADO Query Filter 含中文字解決方案

為了針對查詢出來的Query再做進一步的資料篩選,
常常用會用到Filter的功能,但目前發現若Filter的條件中,
包含了時間、中文字串,程式皆會死當,可以用下列方式解決此情況
//**在Query的onFilterRecord中寫入下列程式碼
if Trim(Edit_CusName.Text) <> '' then
   Accept := AnsiContainsStr(xQuery.fieldbyname('CusName').AsString,Edit_CusName.Text)
else
   Accept := True;
//**並於要觸發過濾的地方寫入
xQuery.Filtered := False;
xQuery.Filtered := True;
以上即可將上述的問題解套,但缺點是此事件會逐筆核對每列記錄,
若當資料量龐大的時候,會耗費不少時間,效益不佳!

參考自:Delphi.ktop
張貼留言