数据类型不匹配
问题描述:
我有以下查询数据类型不匹配
SELECT *
FROM Project
WHERE Status = "In Progress"
当我运行它成功地列出了所有与状态“进行中”的项目名称在DBlookuplistbox程序,我有一个按钮的代码:
adoqCurrentProjects.Active := false;
adoqCurrentProjects.Active := true;
adoqCurrentProjects是adoquery的名称,但是当我点击显示错误消息“条件表达式中的数据类型不匹配”的按钮。我会想,如果我更改了状态为“进行中”的项目表中的记录数量,并单击该按钮,它只会在DBlookuplistbox中列出新结果,就像我重新启动程序时一样,有什么建议?
答
替代过程来更新ADOQuery可能是
with adoqCurrentProjects do begin
close;
sql.Clear;
sql.Add('SELECT * FROM Project WHERE Status = '+condition);
open;
end;
// Update DBlookuplistbox
该错误消息指示状态和搜索值是不同的类型。由于你的消息指出两者都是字符串,所以可能查询在运行时被修改..你有没有任何事件绑定到adoqCurrentProjects组件?似乎可能引号被删除某处..只是一个猜测.. – 2012-04-10 22:24:29