안녕하세여. 타락임다..
오래전부터 알고는 있었지만, 쓸일은 없을 것이라고 생각했었습니다. 그런데 오늘 개발하며 그 기능이 필요해 써보니 생각보다 유용하더군여. Room0 부터 Room9 까지 테이블에 있는데 동적으로 테이블을 선택해서 써야 할 필요가 생겼습니다.
아래가 설명입니다. C 코드가 아니라 죄송합니다. 후다닥~~
SQL 질의문 안의 필드 이름이나 테이블 이름 같은 단어들은 치환할 수 없습니다. SQL 서버가 그런 기능을 지원하지 않기 때문입니다.
동적 SQL(이전에 올린 팁 참조) 에서 필드 이름이나 테이블 이름을 동적으로 변경시킬 방법이 있습니다.
Format() 함수를 사용하면 됩니다.
const
sqlHistory = 'INSERT Room%d (One, Two, Three) VALUES (%s, %s, %s)';
begin
............
with DMMain do
begin
qryHistory.SQL.Clear;
qryHistory.SQL.Text := Format(sqlHistory, [nNo, ID[0], ID[1], ID[2]]);
qryHistory.ExecSQL;
end;
..................
즐푸하세여...
타락천사..
|