정수 나 문자열 목록이있어서이를 Delphi DataSet의 매개 변수로 전달해야합니다. 그것을하는 방법?Delphi : 목록을 SQL 쿼리에 매개 변수로 전달하는 방법?
다음은 예입니다.
이select * from myTable where intKey in :listParam
나는 목록 또는 배열 또는 뭔가 다른과 같은 매개 변수를 설정 한 것 :
MyQuery.ParamByName('listParam').AsSomething := [1,2,3];
을하고는 SQL 서버로 전송이 쿼리가 발생할 것 :
을 MyQuery 뭔가처럼select * from myTable where intKey in (1, 2, 3)
해결 방법이 문자열과 함께 작동하면 다음 쿼리를 수행하는 것이 더 좋습니다.
select * from myTable where stringKey in :listParam
가 될 :
select * from myTable where stringKey in ('a', 'b', 'c')
난이 간단한 질문이지만, "IN"웹 검색을위한 좋은 키워드를하지 믿습니다.
IDE, 쿼리 및 매개 변수 전달 방법에서 매개 변수를 어떻게 구성해야하는지 대답하십시오. 내가 편집
델파이 7을 사용하고
: 나는 대답을 고려하고있어 "직접적을 할 수 없습니다 "입니다. 다른 사람이 비 hackish 답을 주면, 받아 들인 답이 바뀔 것입니다.
당신이 할 수있는 불행히도. 이것은 SQL 언어의 결함입니다 : "목록 유형"의 개념이 없습니다. –
사용하는 DBMS에 따라 몇 가지 옵션이있을 수 있습니다. 뭐라구? SQL 서버, 오라클, ....? –
@MikaelEriksson : Sql Server를 사용하고 있습니다.하지만이 언어가 Delphi 언어 문제라고 생각합니다. – neves