Delphi: como passar uma lista como parâmetro para uma consulta SQL?
Eu tenho uma lista de números inteiros ou de seqüências de caracteres e preciso passá-lo como um parâmetro para um Delphi DataSet. Como fazer isso?
Aqui está um exemplo. MyQuery é algo como:
<code>select * from myTable where intKey in :listParam </code>
Eu defini um parâmetro como uma lista ou matriz ou outra coisa:
<code>MyQuery.ParamByName('listParam').AsSomething := [1,2,3]; </code>
e isso resultaria nessa consulta enviada ao servidor sql:
<code>select * from myTable where intKey in (1, 2, 3) </code>
Seria ainda melhor se a solução também funcionasse com strings, fazendo essa consulta:
<code>select * from myTable where stringKey in :listParam </code>
tornar-se:
<code>select * from myTable where stringKey in ('a', 'b', 'c') </code>
Acredito que essa seja uma pergunta simples, mas "IN" não é uma boa palavra-chave para pesquisar na Web.
Por favor, responda como eu devo configurar o parâmetro no IDE, a consulta e como passar os parâmetros.
Estou usando o Delphi 7.
Editado: Estou considerando a resposta é "não é possível fazer diretamente". Se alguém me der uma resposta não-hackeada, a resposta aceita será mudada.