在運行期使用Access數據庫,在表單Form1中除了以上控件外,還需增加一個BDE會話期對象,即TSession控件Session1。將AutoSessionName屬性設為true,然后在Form1的OnCreate事件函數中加入以下代碼:
AnsiString app_path,alias_1,name_1;
app_path=ExtractFilePath(ParamStr(0));
//取得應用程序的路徑
alias_1="mydatabASE2";
//Access數據庫別名
name_1="DATABASENAME="+app_path+"123.mdb";
if(!Session1->IsAlias(alias_1))
//數據庫別名不存在
{
TStringList *dataname=new TStringList();
dataname->Add(name_1);
Session1->AddAlias(alias_1,"MSAccess",dataname);//創建別名
delete dataname;
Session1->Close();
}
DatabASE1->AliasName=alias_1;
Database1->DatabASEName="app_alias";
Table1->DatabaseName=Database1->DatabASEName;
Table1->TableName="xxys";
Table1->Active=true;
注意:在運行以上程序之前,別忘了進入BDE Administrator將MS
Access驅動配置中的DLL32由IDDAO32.DLL改為IDDA3532.DLL,并保存這個配置。
為了使程序運行得更流暢,可以在DatabASE1的OnLogin事件函數中加入以下代碼:
LoginParams->Values["PASSWORD"]="";
LoginParams->Values["USERNAME"]="";
這樣在運行程序時就不會彈出數據庫登錄的對話框了。
文章地址:http://www.meyanliao.com/article/other/1085.html