在运行期使用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"]="";
这样在运行程序时就不会弹出数据库登录的对话框了。
文章地址:https://www.tianxianmao.com/article/other/1085.html