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

使用ADO如何將Access(.mdb)加入密碼後續問題

答題得分者是:timhuang
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-26 23:29:07 IP:211.76.xxx.xxx 未訂閱
原始問題http://delphi.ktop.com.tw/topic.php?TOPIC_ID=49224 如果原始的.mdb沒有設密碼可以成功用程式加入密碼,但是如果已經有加入密碼的.mdb卻無法更改密碼,請問該如何解決?謝謝 以下是我的source...
//ADOConnection1->Connected=false;
AnsiString filename=ExtractFilePath(Application->ExeName)+"\\test.mdb";
ADOConnection1->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+filename+";Persist Security Info=False";
//Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Mode=Share Deny Read|Share Deny Write;Persist Security Info=False
//Form1->ADOConnection1->Provider="Microsoft.Jet.OLEDB.4.0";
//Form1->ADOConnection1->Properties->Item["Jet OLEDB.4.0:Database Password"]->Value="1111";
//ADOConnection1->Properties->Item["Data Source"]->Value=filename;
ADOConnection1->Mode=cmShareExclusive;
AnsiString pas="[]";  //空白密碼
ADOConnection1->Execute("ALTER DATABASE PASSWORD 1233 "+pas);    ADOConnection1->Connected=true;
ADOConnection1->Close();
程式下載http://delphi.ktop.com.tw/loadfile.php?TOPICID=18329606&CC=409934
zivu
一般會員


發表:11
回覆:28
積分:12
註冊:2004-04-29

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-28 18:12:41 IP:220.139.xxx.xxx 未訂閱
剛下載了你的檔案~~可是沒給密碼就進不去ㄌ~ 改密碼的語法就用這樣就可以改ㄌ~! ADOQuery1->Edit(); ADOQuery1->FieldValues["密碼"]=Edit2->Text; ADOQuery1->Post(); 上面那密碼是我的欄位~ 要先確認帳號跟密碼在導到這一頁~! 這一頁要有三個Edit~第一個是輸入舊密碼~第二個是新密碼~第三個是再輸入一次新密碼~確定跟第二個相同~~!當然還不能有空的值~在擺上驗證碼~都可以後~~資料就可以修改存入了~~!因為我看了你的總覺得跟我的長的不太像~怕誤導你就只給你我的做法ㄌ~!
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-28 19:01:20 IP:211.76.xxx.xxx 未訂閱
引言: 剛下載了你的檔案~~可是沒給密碼就進不去ㄌ~ 改密碼的語法就用這樣就可以改ㄌ~! ADOQuery1->Edit(); ADOQuery1->FieldValues["密碼"]=Edit2->Text; ADOQuery1->Post(); 上面那密碼是我的欄位~ 要先確認帳號跟密碼在導到這一頁~! 這一頁要有三個Edit~第一個是輸入舊密碼~第二個是新密碼~第三個是再輸入一次新密碼~確定跟第二個相同~~!當然還不能有空的值~在擺上驗證碼~都可以後~~資料就可以修改存入了~~!因為我看了你的總覺得跟我的長的不太像~怕誤導你就只給你我的做法ㄌ~!
sorry...進不去可能是執行程式後不小心加入密碼了,預設密碼是1233 zivu...我不是很清楚你說的方法... 我猜想...
ADOConnection1->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Password=" Edit1->Text ";Data Source=" filename ";Persist Security Info=False";
ADOQuery1->Active=true;
ADOQuery1->Edit();
ADOQuery1->FieldValues["密碼"]=Edit2->Text;
ADOQuery1->Post();
但是出現"找不到可安裝的ISAM",這是什麼訊息,還是我的程式寫錯了
zivu
一般會員


發表:11
回覆:28
積分:12
註冊:2004-04-29

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-28 21:38:07 IP:61.224.xxx.xxx 未訂閱
你那訊息我沒遇到過~~所以可能要請高手幫你解決ㄌ~!不過我寫了一個很小的程式示範更新給你看~~!http://delphi.ktop.com.tw/topic.php?TOPIC_ID=58712
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-28 21:48:06 IP:211.76.xxx.xxx 未訂閱
奇怪!你這個範例怎麼好像是在更新資料庫裡面的資料,而不是在改密碼...
folkchen
高階會員


發表:9
回覆:232
積分:173
註冊:2003-10-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-29 08:49:27 IP:211.20.xxx.xxx 未訂閱
你好 我試你的程式,會發生錯誤 [Linker Fatal Error] Fatal: Unable to open file 'SUIPACKC6.LIB' 大概看了一下,你是不是應該要先依原PASSWORD完成Connect 之後再做 Alter SQL 的Execute 發表人 - folkchen 於 2004/10/29 08:51:53 發表人 - folkchen 於 2004/10/29 08:53:08
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-10-29 09:10:06 IP:211.76.xxx.xxx 未訂閱
sorry...可能我compiler的時候不小心把我另外裝的元件也弄進去了,如果要執行可能要麻煩你先進去Project1.bpr先把SUIPACKC6相關的都砍掉,因為我的電腦有裝這個元件,所以從我的電腦compiler那個東西可能一直都在.... 我有嘗試過先用密碼connect,但是還是沒用。
folkchen
高階會員


發表:9
回覆:232
積分:173
註冊:2003-10-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-10-29 12:24:00 IP:211.20.xxx.xxx 未訂閱
1.你放的TEST.MDB中本身沒有密碼 2.自行在MDB中加入密碼後 ADOConnection1->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" filename ";Persist Security Info=False"; 在物件的ConnectionString屬性中做連線測試都是失敗的耶 P.S:filename有改成實際路徑再測,Admin是Access的內定帳號 結論:這個連法跟本就連不通,所以不能改密碼 要先讓ConnectionString通的起來 目前還沒有試出來,大家參考看看
timhuang
尊榮會員


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-11-13 12:39:17 IP:220.132.xxx.xxx 未訂閱
若是已有密碼的話, 就直接在 ADOConnection 的 ConnectionString 將密碼先行設定進去, 以確保能連接成功, 假設是要將原密碼為 1233 改為無密碼的話, 程式碼應該這麼寫,    
  AnsiString filename=ExtractFilePath(Application->ExeName)+"\\test.mdb";
  ADOConnection1->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+filename+";Persist Security Info=False;Jet OLEDB:Database Password=1233";
  ADOConnection1->Mode=cmShareExclusive;      // check if connection is established
  ADOConnection1->Connected=true;
  ShowMessage("success connect to the mdb file with ConnectionString\n" + ADOConnection1->ConnectionString);      // change the password !!
  ADOConnection1->Execute("ALTER DATABASE PASSWORD `` 1233 ");
  ShowMessage("success change the password to ``");      ADOConnection1->Close();
請注意是 ALTER Database Password 新密碼 舊密碼 哦!!
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-12-03 20:51:49 IP:211.76.xxx.xxx 未訂閱
真神奇,為什麼我怎麼試就是不行... 執行後會有錯誤訊息:無法啟動您的應用程式。工作群組的資料檔案不見了或被另一個使用者以獨佔方式開啟。 真是難稿的程式,就算我直接從ADOConnection的Property的ConnectionString直接選擇資料庫,然後設定密碼後測試連線,結果仍然是那個錯誤訊息,第一次對資料庫設定密碼就這麼難搞
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-12-03 23:18:41 IP:61.70.xxx.xxx 未訂閱
引言: 真神奇,為什麼我怎麼試就是不行... 執行後會有錯誤訊息:無法啟動您的應用程式。工作群組的資料檔案不見了或被另一個使用者以獨佔方式開啟。 真是難稿的程式,就算我直接從ADOConnection的Property的ConnectionString直接選擇資料庫,然後設定密碼後測試連線,結果仍然是那個錯誤訊息,第一次對資料庫設定密碼就這麼難搞 < face="Verdana, Arial, Helvetica"> 我之前有遇到這樣的問題,沒密碼可以,有密碼不行 後來發現好像是Jet 4.0 還是 MDAC 2.7 的某因 SPx版本有題 後來更新到最近版本就ok了 你試試看
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-12-03 23:26:44 IP:211.76.xxx.xxx 未訂閱
請問一下要去哪更新?我的已經是Office2003 sp1了,他應該有把Jet更新到最新吧?
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-12-04 00:05:45 IP:61.70.xxx.xxx 未訂閱
引言: 請問一下要去哪更新?我的已經是Office2003 sp1了,他應該有把Jet更新到最新吧?
http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&displaylang=zh-tw http://www.microsoft.com/downloads/details.aspx?FamilyID=4335216c-8cdd-4168-a030-46f815d3f5cd&DisplayLang=zh-tw
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-12-04 00:27:41 IP:211.76.xxx.xxx 未訂閱
謝謝了,明天在來試試看... 但是如果因此解決了也是有點麻煩,畢竟不能要求其他執行這個程式的人都要另外安裝這些東西吧!    剛剛裝了一下... MDAC 2.8 RTM 與此版本的 Windows 不相容。其所有功能目前都是 Windows 的一部份。 不能安裝 發表人 -
系統時間:2024-04-29 6:50:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!