LoginPrompt = True,嘗試連線時彈出對話框,適合開發/測試環境。LoginPrompt = False + Params 寫死 USERNAME/PASSWORD。極度不推薦(原始碼洩露憑證)。procedure TForm.DatabaseLogin(Database: TDatabase; LoginParams: TStrings);
begin
LoginParams.Values['SERVER NAME'] := 'MYSERVER';
LoginParams.Values['USER NAME'] := GetCurrentUser;
LoginParams.Values['PASSWORD'] := DecryptFromSecureStore;
end;
事件觸發於連線建立前,參數陣列拷貝可安全修改,支援動態憑證來源(金鑰庫、SSO、Token 等)。
TDatabase 可建立僅在進程內有效的邏輯別名,不寫入 IDAPI32.CFG。雙擊元件或選擇 Database Editor 開啟屬性編輯器自定義參數。DataSet 元件直接引用 DatabaseName 邏輯名,解耦部署環境差異。
Connected:讀寫屬性,True 強制建立連線(無需開啟資料表),False 斷開(除非 KeepConnection = True)。KeepConnection = True:連線池化效果,頻繁開關資料表時避免重複登入協商,大幅提升回應速度。TSession.KeepConnections:全域層面控制所有 TDatabase 連線持久化。TSession.NetFileDir/PrivateDir:指定 BDE 網路控制目錄與本地暫存目錄路徑。所有方法接受 TStringList 回傳結果:
| 方法 | 用途 |
|---|---|
GetAliasNames | 列出所有 BDE 別名(不含應用別名) |
GetAliasParams | 取得指定別名完整參數清單 |
GetDatabaseNames | 列出 BDE 別名 + 應用別名 |
GetDriverNames | 列出已安裝 BDE 驅動程式 |
GetDriverParams | 取得驅動程式預設參數 |
GetTableNames | 列出指定資料庫表名(支援 Pattern/系統表/副檔名過濾) |
這組 API 是建構動態資料庫瀏覽器、安裝精靈、診斷工具的基石。