【发布时间】:2013-06-18 22:28:50
【问题描述】:
为什么我的查询不起作用?
Form1.ABSQuery1.Close;
Form1.ABSQuery1.SQL.Clear;
Form1.ABSQuery1.SQL.Text:='DELETE FROM LOG WHERE status = ''YES'' and DATE BETWEEN :d1 and :d2';
Form1.ABSQuery1.Params.ParamByName('d1').Value :=cxDateEdit1.Date;
Form1.ABSQuery1.Params.ParamByName('d2').Value :=cxDateEdit2.Date;
Form1.ABSQuery1.ExecSQL;
Form1.ABSTable1.Refresh;
我收到此错误:
【问题讨论】:
-
什么不起作用?它不会删除您期望的记录吗?您是否收到 SQL 错误?您能否提供有关实际问题的更多信息
-
如果用括号括起来会发生什么:
(DATE BETWEEN :d1 and :d2)? -
可能是 DATE 被解释为一个函数? DATE 真的是您的某一列的名称吗?如果是这样,请将您的 DATE 字段重命名为其他名称,然后重试。
-
'从 LOG 中删除 status = ''YES'' and (DATE BETWEEN :d1 and :d2)'; - 没有任何内容被删除...
标签: delphi delphi-xe2 delphi-xe