2012-04-10 181 views
2

我有以下查询数据类型不匹配

SELECT * 
FROM Project 
WHERE Status = "In Progress" 

当我运行它成功地列出了所有与状态“进行中”的项目名称在DBlookuplistbox程序,我有一个按钮的代码:

adoqCurrentProjects.Active := false; 
adoqCurrentProjects.Active := true; 

adoqCurrentProjects是adoquery的名称,但是当我点击显示错误消息“条件表达式中的数据类型不匹配”的按钮。我会想,如果我更改了状态为“进行中”的项目表中的记录数量,并单击该按钮,它只会在DBlookuplistbox中列出新结果,就像我重新启动程序时一样,有什么建议?

+0

该错误消息指示状态和搜索值是不同的类型。由于你的消息指出两者都是字符串,所以可能查询在运行时被修改..你有没有任何事件绑定到adoqCurrentProjects组件?似乎可能引号被删除某处..只是一个猜测.. – 2012-04-10 22:24:29

回答

1

替代过程来更新ADOQuery可能是

with adoqCurrentProjects do begin 
close; 
sql.Clear; 
sql.Add('SELECT * FROM Project WHERE Status = '+condition); 
open; 
end; 

// Update DBlookuplistbox