내 의도 : 사용자가 아티스트를 선택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
PARAM은 다음 코드에 의해 설정됩니다 :
procedure Tmain.cbArtistChange(Sender: TObject);
begin
qDisco.ParamByName('artist').Value := cbArtist.Items[cbArtist.ItemIndex];
end;
:artist
param이 현재 항목의 값을 cbArtist
으로 저장하도록했습니다. 그러나 응용 프로그램을 컴파일 할 때 cbDiscography
은 채워지지 않습니다.
이 기능을 사용하려면 어떻게해야합니까?
쿼리를 실행하면 아무 것도 반환하지 않습니다. 그 결과를 다른 콤보에 어디에 묶었습니까? –
"Girls 'Generation"과 같은 정적 값을 사용하면 쿼리가 작동하지만': artist'매개 변수를 사용하면 아무 것도 반환하지 않습니다. 바인딩의 이미지는 다음과 같습니다. http://i7.minus.com/ibs9ExlC3sKPld.png – ple103
델파이 2005에서 여전히 잃어 버렸기 때문에 XE를 검사 할 필요가 없습니다. 정적을 사용한다고하면 qDisco.ParamByName ('아티스트')을 의미합니다. 값 : = '정적'. 매개 변수의 유형이 잘못되었는지 궁금합니다. –