線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1119
推到 Plurk!
推到 Facebook!

關於TADOConnection login的問題

答題得分者是:timhuang
leeli
初階會員


發表:57
回覆:55
積分:27
註冊:2003-06-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-24 11:03:14 IP:61.30.xxx.xxx 未訂閱
Dears:   最近小弟我使用TADOConnection的元件,來撰寫有關SQL的程式。原先,小弟我都是一開始就使用ConnectionString,將連接SQL的User ID跟Password設定好了。   現在小弟我想要將連結SQL的User Id跟Password寫在程式的畫面中,讓使用者輸入後再進行連線。請問,應該要如何處理呢?   我有搜尋一下範例:  
 void __fastcall TForm1::SQLConnectionBeforeConnect(TObject *Sender)
{
  if (SQLConnection1->LoginPrompt == false)
  {
    SQLConnection1->Params->Values["User_Name"] = "SYSDBA";
    SQLConnection1->Params->Values["Password"] = 
      Decrypt(SQLConnection1->Params->Values["Password"]);
  }
}
不過,這程式碼的Params是只有在SQLConnection1才能使用。 如果我想要類似像上面的程式的使用方式,在TADOConnection 跟如何撰寫呢? 小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡!
------
小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。
對於各位的大力協助,感激不盡!
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-01 15:30:29 IP:60.248.xxx.xxx 未訂閱
二個方法    法一:    你可以在輸入完帳號/密碼之後 把這些資料填到 ConnectionString 去之再做連線 反正沒帳密,是不能連線的 拖到這時候再連線也是無所謂...    法二:    用 Open,像這樣:
    if(ADOConnection1->LoginPrompt == false) {
        ADOConnection1->Open("帳號", "密碼");
    };
    ADOTable1->Active = true;
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-01 18:28:28 IP:203.95.xxx.xxx 未訂閱
Hi, 你可以使用 StringReplace 的方法, 並將真實的 ConnectionString 中的 uid, pwd 改為 MYID, MYPASSORD, 如,    Provider=SQLOLEDB.1;Password=MYPASSWORD;Persist Security Info=True;User ID=MYID;Initial Catalog=testdb;Data Source=192.168.3.20    
  TReplaceFlags f;
  ADOConnection1->ConnectionString = StringReplace(ADOConnection1->ConnectionString, "MYID", "real id", f);
  ADOConnection1->ConnectionString = StringReplace(ADOConnection1->ConnectionString, "MYPASSWORD", "real password", f);
  ADOConnection1->Open();
如此一來便能利用動態修改你的 uid, pwd!!
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-01 22:18:05 IP:220.132.xxx.xxx 未訂閱
Hi, 先將真實的 ConnectionString 中的 uid, pwd 改為 MYID, MYPASSORD, 如    Provider=SQLOLEDB.1;Password=MYPASSWORD;Persist Security Info=True;User ID=MYID;Initial Catalog=testdb;Data Source=192.168.3.20    使用 StringReplace 的方法, 在程式中將兩個 tag 改為 user 輸入的資料即可, 如    
  TReplaceFlags f;
  ADOConnection1->ConnectionString = StringReplace(ADOConnection1->ConnectionString, "MYID", "real id", f);
  ADOConnection1->ConnectionString = StringReplace(ADOConnection1->ConnectionString, "MYPASSWORD", "real password", f);
  ADOConnection1->Open();
如此一來便能利用動態修改你的 uid, pwd!!
海星
高階會員


發表:41
回覆:217
積分:106
註冊:2003-01-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-04 16:26:27 IP:211.20.xxx.xxx 未訂閱
什麼程式碼都不用寫!!直接把 ADOConnection 的 LoginPrompt 設成 True 就好了 < >< >
系統時間:2024-04-30 5:07:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!