查询的一个语句,能这样写吗。错在哪里了。

hooliu6 2011-11-28 10:00:57
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select * from cars where "'+combobox1.text+'">a and "'+combobox1.text+'"=b');
parameters.ParamByName('a').Value:=datetimetostr(datetimepicker1.date);
parameters.ParamByName('b').Value:=datetimetostr(datetimepicker2.Date);
open;
end;

查询不出数据,没有错误提示。。
...全文
103 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
simonhehe 2011-12-06
  • 打赏
  • 举报
回复

with adoquery1 do
begin
close;
sql.Clear;
sql.Add(
format('select * from cars where %s > :a and %s = :b', [combobox1.text, combobox1.text]);
);
parameters.ParamByName('a').Value:= QuotedStr(datetimetostr(datetimepicker1.date));
parameters.ParamByName('b').Value:= QuotedStr(datetimetostr(datetimepicker2.Date));
open;

end;
goease 2011-12-06
  • 打赏
  • 举报
回复
楼上正解,注意在用到字符串和日期时,只有值是需要引号的,字段名并不需要
wooden954 2011-12-04
  • 打赏
  • 举报
回复
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select * from cars where '+combobox1.text+'>'':a''
and '+combobox1.text+'='':b''');
parameters.ParamByName('a').Value:=datetimetostr(datetimepicker1.date);
parameters.ParamByName('b').Value:=datetimetostr(datetimepicker2.Date);
open;
end;

a b 都是时间参数,那么在替换参数时应该在参数左右两边加引号,而不是在你在ComboBox所表示的列名左右加引号
hllfl 2011-11-28
  • 打赏
  • 举报
回复
delphi =:
hooliu6 2011-11-28
  • 打赏
  • 举报
回复
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select * from cars where "'+combobox1.text+'">:a and "'+combobox1.text+'"<:b');
parameters.ParamByName('a').Value:=datetimetostr(datetimepicker1.date);
parameters.ParamByName('b').Value:=datetimetostr(datetimepicker2.Date);
open;
end;

呵呵,失误,刚才搞错了,这样搞还是没有查询出数据,,
kaikai_kk 2011-11-28
  • 打赏
  • 举报
回复
改成:
'select * from cars where '+combobox1.text+'>:a and '+combobox1.text+'=:b'

简化就是... where Field>:a and Field=:b
又大于,又等于,条件矛盾应该是无数据
lhy 2011-11-28
  • 打赏
  • 举报
回复
sql.Add('select * from cars where "'+combobox1.text+'">:a and "'+combobox1.text+'"=:b');
参数前加":"

2,497

社区成员

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

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