C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[321] (팁) LoginPrompt창을 띄우지 않는 간단한 방법
민병권 [minbk] 6877 읽음    2002-04-03 16:34
이곳의 여러곳에서 찾아 봤는데, 이 방법이 가장 쉬울것 같아 글을 올립니다.

DB는 MS-SQL을 사용하고 계정은 'sa', 패스워드는 없습니다.
대부분 패스워드는 반드시 주는걸로 많은 답변이 있던데, 여기서는 있으나 없으나 관계 없습니다.

1. TDatabase에서 LoginPrompt를 true로 설정합니다( LoginPrompt를 반드시 띄우도록 ).

2. TDatabase 이벤트에서 OnLogin을 더블클릭 합니다.
   그러면, 아래와 같이 이벤트 루틴이 소스에 추가 되겠죠.

   void __fastcall TDataModule1::Database1Login(TDatabase *Database,
         TStrings *LoginParams)
   {
       // 여기에서 아래의 두줄을 추가 합니다.
       LoginParams->Values["USER NAME"] = "sa";
       LoginParams->Values["PASSWORD"] = "";
   }

3. 그리고나서, 자신의 메인폼에 다음과 같은 루틴을 추가합니다.
   전, 메인폼이 보여질때 LoginPrompt창을 처리합니다.

   void __fastcall TMain_Form::FormShow(TObject *Sender)
   {
       // LoginPrompt창의 이벤트를 가로체기 위해서 아래와 같이 설정합니다.
       // true로 될때 위의 2번 설명에 있는 LoginPrompt이벤트가 발생합니다.
       DataModule1->Database1->Connected = true;
       // 이제 LoginPrompt창 뜨지 않고 DB에 Login을 완료합니다.

       // 이후 부터는 자신의 DB에 있는 사용자 Table등으로 사용자인증 처리를 합니다.
       // 아래는 제가 사용하는 사용자인증 창을 띄우는 폼 예입니다.
       // 물론, 아래의 코드가 없다면 DB Lohin만으로 끝나겠지요.
       TLogon_Form *Dlg = new TLogon_Form(Application);
       Dlg->ShowModal();
       delete Dlg;
   }

아주 간단하죠?

박재욱.사탕 [withsun]   2002-04-04 14:01 X
어.. 저는 ADO를 쓰는데요, TADOConnection->LoginPrompt = false;하니깐 안뜨던데요.. ㅡㅡ;

+ -

관련 글 리스트
321 (팁) LoginPrompt창을 띄우지 않는 간단한 방법 민병권 6877 2002/04/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.