全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1808
推到 Plurk!
推到 Facebook!

要如何由程式自動輸入Password

尚未結案
erosme
初階會員


發表:5
回覆:44
積分:29
註冊:2002-12-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-18 13:23:21 IP:218.166.xxx.xxx 未訂閱
Dear All, 我資料庫是用Paradox 且有設定 Password , 所以每次開啟都會顯示出一個視窗要求輸入Password ; 假如我想改由程式開啟資料庫時自動輸入Password , 而不用人工輸入Password . 不知各位高手有何辦法,或有更好的意見可以提供給我. ps:原因是我想保護資料庫內容不被其他人讀出. Thanks.
timhuang
尊榮會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-18 14:27:34 IP:61.221.xxx.xxx 未訂閱
在 database 元件中的 params 屬性內建兩個參數 USER NAME=xxxxx PASSWORD=xxxx 再將 LoginPrompt 設為 false 即可.
erosme
初階會員


發表:5
回覆:44
積分:29
註冊:2002-12-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-18 15:34:35 IP:218.166.xxx.xxx 未訂閱
抱歉, 可能是我沒說清楚. 其實我是用BCB 提供的 Database Desktop 來建立資料庫. 且在Database Desktop 的 Table properties 中選擇'Password Secunity", 並且設定密碼.所以每次開啟資料庫時,它只會問密碼,不會問"USER NAME". 當然你所提供的方式我已試過,結論還是不行. 不過謝謝你樂心的回答. Thanks.
timhuang
尊榮會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-18 17:09:06 IP:61.221.xxx.xxx 未訂閱
若是 paradox 的 table password 的話, 可以使用:      Table1.DBSession.AddPassword('my1234');    來進行. 這樣會將 password 放上 Table1 的 DBSession 中. 當然, 若是要移除 password (也就是不要自動登入) 就使用:      Table1.DBSession.RemoveAllPasswords;    即可. 範例如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Table1.DBSession.AddPassword('my1234');
  Table1.Open;
end;
參考資料 : http://www.rydval.cz/slavek/delphiparadox.php SORRY 忘了是 BCB 的. 再寫一個 BCB 的版本:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Table1->DBSession->AddPassword("my1234");
  Table1->Open();
}
發表人 - timhuang 於 2003/05/18 17:12:25
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-18 17:41:20 IP:140.135.xxx.xxx 未訂閱
我建議以後timhuang大哥回答問題的時候.. 都要附上Delphi和BCB兩種版本< >< > ~我也是在學習的階段,所以請您多多見諒與指教~
erosme
初階會員


發表:5
回覆:44
積分:29
註冊:2002-12-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-19 21:31:26 IP:218.166.xxx.xxx 未訂閱
Dear timhuang, 你實在太厲害了,感謝你的幫助. Thanks.
swordfox
一般會員


發表:2
回覆:7
積分:1
註冊:2003-05-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-21 21:05:51 IP:140.132.xxx.xxx 未訂閱
我覺得頗有收獲,那請問timhuang 大哥如果要自動輸入user name 又該如何? 謝謝!!
timhuang
尊榮會員


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-21 23:25:12 IP:61.221.xxx.xxx 未訂閱
引言: 我覺得頗有收獲,那請問timhuang 大哥如果要自動輸入user name 又該如何?
前面第二篇中有提到: 在 database 元件中的 params 屬性內建兩個參數 USER NAME=xxxxx PASSWORD=xxxx 再將 LoginPrompt 設為 false 即可. 不知道是不是你要問的.
swordfox
一般會員


發表:2
回覆:7
積分:1
註冊:2003-05-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-22 00:01:58 IP:140.132.xxx.xxx 未訂閱
是否可以寫程式的方式來輸入USER NAME=xxxxx PASSWORD=xxxx,這樣子就可以不同的使用者要登入他們自己的database,就不需要一個一個設定,改成可以程式控制,將 user name、password設成變數代入                                     再次感謝!!
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-05-22 09:27:37 IP:61.221.xxx.xxx 未訂閱
引言: 是否可以寫程式的方式來輸入USER NAME=xxxxx PASSWORD=xxxx,這樣子就可以不同的使用者要登入他們自己的database,就不需要一個一個設定,改成可以程式控制,將 user name、password設成變數代入 再次感謝!! < face="Verdana, Arial, Helvetica"> swordfox, 您好 可以的,但是必須在TDatabase元件Connected屬性設為true之前, 將USER NAME 與 PASSWORD的值傳給TDatabase元件的params屬性即可。 ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
timhuang
尊榮會員


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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-05-22 09:50:51 IP:211.76.xxx.xxx 未訂閱
引言: 是否可以寫程式的方式來輸入USER NAME=xxxxx PASSWORD=xxxx,這樣子就可以不同的使用者要登入他們自己的database,就不需要一個一個設定,改成可以程式控制,將 user name、password設成變數代入
當然可以. 寫個小範例如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Database1.Params.Values['USER NAME'] := 'testdbo';
  Database1.Params.Values['PASSWORD']  := 'testdbopw';
  Database1.Open;
end;
swordfox
一般會員


發表:2
回覆:7
積分:1
註冊:2003-05-21

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-05-22 12:53:33 IP:140.132.xxx.xxx 未訂閱
timhuang大哥實在好厲害,謝謝!!
swordfox
一般會員


發表:2
回覆:7
積分:1
註冊:2003-05-21

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-05-22 23:59:42 IP:140.132.xxx.xxx 未訂閱
請容再一問:      有無直接用 C++ 的語法連接資料庫,而不用BCB元件的方法?                                                謝謝!!
timhuang
尊榮會員


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

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-05-23 00:38:20 IP:61.221.xxx.xxx 未訂閱
所謂直接連是怎麼連?? 你仍舊可以配合 ado 來進行而不用 BCB 包裝好的 vcl 來連. 但是相當麻煩而且會面臨很多問題的. 不如先說明你的需求, 再看如何解決.
swordfox
一般會員


發表:2
回覆:7
積分:1
註冊:2003-05-21

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-05-23 18:21:13 IP:140.132.xxx.xxx 未訂閱
timhuang大哥對不起,我弄錯了, 可不可以再請教一下,>> >
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#16 引用回覆 回覆 發表時間:2003-05-23 18:45:50 IP:61.221.xxx.xxx 未訂閱
swordfox, 您好 timhuang前輩之前用的是Delphi的寫法,請您試試如下的用法。  
   Database1->Params->Values["USER NAME"]="abcdefg";
   Database1->Params->Values["PASSWORD"]="abcde";
 
看來真要如taishyang版主所說的,要請timhuang前輩回答問題時, 列出Delphi與BCB兩種寫法了。 ======================= <>涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 <>是非終日有,不聽自然無 <>天下本無事,庸人自擾之
swordfox
一般會員


發表:2
回覆:7
積分:1
註冊:2003-05-21

發送簡訊給我
#17 引用回覆 回覆 發表時間:2003-05-23 21:10:10 IP:140.132.xxx.xxx 未訂閱
To tech_state 大姐: 剛剛試過了,可以,謝謝妳! 不過還有個問題: void __fastcall TForm1::Button1Click(TObject *Sender) { Query1->DatabaseName="922424"; Query1->Close(); Query1->SQL->Clear(); Query1->SQL->Add("Select 手機 From Customer Where 姓名 Like'abc'"); Query1->Open(); } 上面的式子是我要去抓一筆資料的程式,我想將它 show 在Edit1->Text上 該如何作呢? 謝謝!!
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#18 引用回覆 回覆 發表時間:2003-06-06 12:19:00 IP:218.16.xxx.xxx 未訂閱
新問題請開新主題並用一良合適的標題。 謝謝。
系統時間:2024-07-04 23:57:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!