ADOQuery的Filter问题!!!

zhyanger 2004-02-26 11:32:42
用ADOQuery的Filter过滤,有and 多条件
Filter内容如下:

if Edit.Text='所有' then
ADOQuery1.Filter:=' rq>='+''''+FormatDateTime('yyyy-mm-dd',DBDateTimeEditEh1.Value)+''''+' and rq<='+''''+FormatDateTime('yyyy-mm-dd',DBDateTimeEditEh2.Value)+''''+' and kfmc like '+''''+edit2.Text+'%'+''''
else
ADOQuery1.Filter:='lhid='+inttostr(lhid)+' and rq>='+''''+FormatDateTime('yyyy-mm-dd',DBDateTimeEditEh1.Value)+''''+' and rq<='+''''+FormatDateTime('yyyy-mm-dd',DBDateTimeEditEh2.Value)+''''+' and kfmc like '+''''+edit2.Text+'%'+'''';

程序在SQL MSSERVER 服务器端运行没有问题,可在客户端运行时,
就提示 "项目在所需的名称或序数中未被发现" 的错误。
为什么服务器端可以,客户端就有错,是我Filter写的有问题吗?

...全文
255 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
一; delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery):boolean; const xlNormal=-4143; var y : integer; tsList : TStringList; s,filename :string; aSheet :Variant; excel :OleVariant; savedialog :tsavedialog; begin Result := true; try excel:=CreateOleObject('Excel.Application'); excel.workbooks.add; except //screen.cursor:=crDefault; showmessage('无法调用Excel!'); exit; end; savedialog:=tsavedialog.Create(nil); savedialog.FileName:=sfilename; //存入文件 savedialog.Filter:='Excel文件(*.xls)|*.xls'; if savedialog.Execute then begin if FileExists(savedialog.FileName) then try if application.messagebox('该文件已经存在,要覆盖吗?','询问',mb_yesno+mb_iconquestion)=idyes then DeleteFile(PChar(savedialog.FileName)) else begin Excel.Quit; savedialog.free; //screen.cursor:=crDefault; Exit; end; except Excel.Quit; savedialog.free; screen.cursor:=crDefault; Exit; end; filename:=savedialog.FileName; end; savedialog.free; if filename='' then begin result:=true; Excel.Quit; //screen.cursor:=crDefault; exit; end; aSheet:=excel.Worksheets.Item[1]; tsList:=TStringList.Create; //tsList.Add('查询结果'); //加入标题 s:=''; //加入字段名 for y := 0 to adoquery.fieldCount - 1 do begin s:=s+adoQuery.Fields.Fields[y].FieldName+#9 ; Application.ProcessMessages; end; tsList.Add(s); try try ADOQuery.First; While Not ADOQuery.Eof do begin s:=''; for y:=0 to ADOQuery.FieldCount-1 do begin s:=s+ADOQuery.Fields[y].AsString+#9; Application.ProcessMessages; end; tsList.Add(s); ADOQuery.next; end; Clipboard.AsText:=tsList.Text; except result:=false; end; finally tsList.Free; end; aSheet.Paste; 。。。。。。

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧