1
我的意圖:這是使用SQL參數的正確方法嗎?
當用戶選擇了藝術家,唱片組合框將填補與特定藝術家有唱片分類目錄。
的代碼:
qDisco(TSQLQuery
)是結合至cbDisco(TComboBox
)數據和包含以下SQL:
SELECT DISTINCT discography
FROM Album
INNER JOIN Artist
ON Album.artist_id = Artist.id
WHERE Artist.name = :artist;
的:artist
參數是由下面的代碼設定:
procedure Tmain.cbArtistChange(Sender: TObject);
begin
qDisco.ParamByName('artist').Value := cbArtist.Items[cbArtist.ItemIndex];
end;
我已確保:artist
參數存儲cbArtist
當前項目的值,但是當我編譯該應用程序時,cbDiscography
仍未填充。
我能做些什麼來使其工作?
執行查詢後是否返回任何內容。你在哪裏將結果綁定到其他組合? –
如果我要使用靜態值(例如「少女時代」),查詢將起作用,但如果使用':artist'參數,則不會返回任何內容。這裏是綁定的圖像: http://i7.minus.com/ibs9ExlC3sKPld.png – ple103
我迷失在這裏,仍然在Delphi 2005上,所以我沒有XE來檢查。當你說你使用靜態時,你的意思是qDisco.ParamByName('artist')。Value:='static'。想知道參數的類型是否錯誤。 –