首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 程式化傳送資料庫密碼:Session.AddPassword 免去重複輸入

     編輯:Delphi

痛點

Paradox/dBase 等本地資料庫加密後,每次 Table.Open 皆彈出密碼對話框,嚴重影響自動化流程體驗。

一行解決

Session.AddPassword('MySecretPwd');  // 傳送密碼至 BDE 會話
Table1.Open;                          // 直接開啟,不再提示

完整範例:啟動時自動解密

procedure TForm1.FormCreate(Sender: TObject);
begin
  // 1. 從加密設定檔/登錄讀取密碼 (此處示範硬編碼)
  const DB_PASSWORD = 'MySecretPwd';
  
  // 2. 註冊至當前 BDE Session
  Session.AddPassword(DB_PASSWORD);
  
  // 3. 正常開啟資料集
  Table1.DatabaseName := 'MyAlias';
  Table1.TableName := 'Orders.db';
  Table1.Open;
end;

注意事項

  • Session.AddPassword 僅對 當前程序的 BDE Session 生效,不修改資料庫檔案本身
  • 多資料庫密碼不同可多次呼叫 AddPassword,BDE 會自動嘗試匹配
  • 安全性提醒:避免明文密碼寫在 EXE 中,建議加密儲存於外部設定檔
  • 適用於 BDE 架構 (Paradox, dBase, ASCII);ADO/FireDAC 請使用連線字串 Password=...

移除密碼 (切換資料庫時)

Session.RemovePassword('MySecretPwd');  // 移除特定密碼
Session.RemoveAllPasswords;             // 清空所有快取密碼
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved