2012-04-10 117 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