大家来抢分

delandwu 2003-01-14 03:24:56
sqlstring:=ldm.adoquery.sql.text;

tj:='where '+w1.QUeryTerm;
sqltj:=sqlstring+tj+'ORDER BY d.ID, d.Proid';
showmessage(tj);

with ldm.ADOQuery1 do
begin
close;
sql.text:=sqltj;
open;
end;

这样会有问题的,因为每次在adoquery.sql.text里面的内容会不断加上where,怎样解决呢? 我不能直接'select * from xxx' +'xxx',因为我的adoquery.sql.text里面的sql语句太长了,一行也放不下。
...全文
18 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jjp 2003-01-15
  • 打赏
  • 举报
回复
把SQL语句都写出来
delandwu 2003-01-15
  • 打赏
  • 举报
回复
没有别的方法?
jerryjean 2003-01-15
  • 打赏
  • 举报
回复
那你就定义几个字符型变量,自己拼吧!
delandwu 2003-01-14
  • 打赏
  • 举报
回复
没人知道吗?
delandwu 2003-01-14
  • 打赏
  • 举报
回复
主要问题是出在adoquery.sql.text那里,因为当运行一次的时候,sql.text后面已经加上了where... ,然后又赋给了sqlstring,这样,第二次运行的时候,
sql.text.已经已经变了select .... where ... where

很显然,这句sql是错误的。
Drate 2003-01-14
  • 打赏
  • 举报
回复
example :
with adoquery1 do
begin
close;
sql.clear;
sql.add('select * from table1');
sql.add('where field1= 0');
sql.add(' and field2 = 2');
sql.add(' order by field1');
open;
end;
lw549 2003-01-14
  • 打赏
  • 举报
回复
tj:='where '+w1.QUeryTerm;
在这里加sqltj:='';
sqltj:=sqlstring+tj+'ORDER BY d.ID, d.Proid';
Drate 2003-01-14
  • 打赏
  • 举报
回复
example :
with adoquery1 do
begin
close;
sql.clear;
sql.add('select * from table1');
sql.add('where field1= 0');
sql.add(' and field2 = 2');
sql.add(' order by field1');
open;
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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