데이타베이스와 쿼리를 동적으로 생성하여 사용하려 합니다.
다음과 같이 코딩을 하였더니 다음의 오류가 나왔습니다.
UnKnown user name or password
unavailable database
Alias: avc_test. Process. Use Step or Run to continue.
동적으로 생성한 데이타베이스 콤포넌트에서 쿼리로 연결이 안되는 것 같습니다.
고수님들의 답변을 부탁드립니다.
var
i: integer;
Query_1 : TQuery;
Database_1 : TDatabase;
begin
Database_1 := TDatabase.Create(nil);
Query_1 := TQuery.Create(nil);
try
Database_1.LoginPrompt := False;
Database_1.Params.Clear;
Database_1.DatabaseName := 'abc_test';
Database_1.AliasName := 'test_db';
Database_1.Params.Add('SERVER NAME=C:\db\interbase_test.GDB');
Database_1.Params.Add('USER NAME=SYSDBA');
Database_1.Params.Add('PASSWORD=masterkey');
Database_1.Connected := True;
with Query_1 do
begin
DatabaseName := 'abc_test';
Close;
SQL.Clear;
SQL.Add('select * from CLASS_CODE_ZIP where DONG like ''신사%'' ');
Open;
while not eof do
begin
s_Code := intToStr(FieldByName('CODE').AsInteger);
s_GuGun := FieldByName('GUGUN').AsString;
s_Dong := FieldByName('DONG').AsString;
Memo1.text := (s_Code + s_GuGun + s_Dong);
Next;
end;// while
end;//with
finally
Query_1.Free;
Database_1.Free;
end;
//동적생성한 Query에 name은 Query_1이므로
이부분을 With Query_1 do
이렇게 바꿔야 할 듯 합니다.