현재 Tquery랑 Tdatabase을 사용해서 로그인시 로그인 창을
안뜨게 해서 사용중입니다.
그런데 만약 다른 서버의 데이타 베이스를 연결할때
Tquery랑 Tdatabase컴포넌트를 추가하지 않고
사용하려 합니다. 다른 databasename이라든지
부가적인 것을 코딩으로 바꿀 수 있는데여~
username과 password를 입력할때 반드시
databasename Event에 있는 onlogin핸들러
안에서 작성 해야 하나여?
그냥 tabpage같은데서 페이지 이동시
database가 바뀜과 동시에 username과 password를
입력할 수 있는방법은 없는것일까여? 과연~~
고수 님들께서는 정답을 알고 있으실 꺼라 믿습니다.
한수 가르침을 주시기 바랍니다.
감기조심하시구여~ 요새 저도 감기 땜시~~ 쿨럭쿨럭~
안녕하세요?
기냥 쉽게 생각하시면 될 것 같은데요.
페이지가 바뀌면 로그인 창하나 띄운다음에 값을 받아와서 처리하시면 될 듯.
//로그인폼:LoginForm
function LoginDialog(var user_id: string; var user_pass:string): Boolean;
begin
with TLoginForm.Create(Application) do begin
try
Result:= ShowModal=mrOk;
if Result then begin
user_id:= EdtUserId.Text;
user_pass:= EdtUserPass.Text;
end;
finally
Free;
end;
end;
end;
//사용자 확인폼:Form1
uses
LoginFormU;
{중략}
procedure TForm1.PageControl1Change(Sender: TObject);
var
id, pass: string;
begin
if not LoginDialog(id, pass) then Exit;
with database1 do begin
connected:= false;
try
params.values['USER NAME']= id;
params.values['PASSWORD']= pass;
connected:= true;
except
showmessage('데이터베이스에 연결 할 수 없네요ㅠ.ㅠ');
end;
end;
end;
즐프하세요^^.........