본문 바로가기

Development/Delphi

query in 절 만들기

function ListToText(const Args: array of string): string; overload;

function ListToText(const Args: array of integer): string; overload;


function ListToText(const Args: array of string): string;

var i: integer;

begin

  result := '(';

  for i := 0 to high(Args) do

    result := result+QuotedStr(Args[i])+',';

  result[length(result)] := ')';

end;


function ListToText(const Args: array of integer): string;

var i: integer;

begin

  result := '(';

  for i := 0 to high(Args) do

    result := result+IntToStr(Args[i])+',';

  result[length(result)] := ')';

end;


사용법

SQL.Text := 'select * from myTable where intKey in '+ListToText([1,2,3]);
SQL.Text := 'select * from myTable where stringKey in '+ListToText(['a','b','c']);