在C 中使用Access数据库
时间:2007-12-23 来源:不详 作者:迈克DB
在C Builder中使用Access既可以在设计期实现,也可以在运行期通过编程实现。下面就以一个简单的例子,来说明在C Builder中如何使用Access。
在设计期使用Access
首先新建一个工程,保存单元文件为Unit1.cpp,保存工程文件为Project1.bpr。假设保存工程文件的路径下已有一个Access文件student.mdb,下面需要为该创建一个别名。点击C Builder的tools选单项,在下拉选单中点击Database Desktop就进入了C Builder自带的系统。然后在Database Desktop的tools项中选择Alias Manager来为Access创建别名。创建别名的方法是:首先点击“New”按钮,然后在弹出对话框的Database alias栏内为起一个别名,例如“mydatabase”,在Drive type栏选择MSACCESS;在DATABASE NAME栏内填入Access文件的路径及文件名,其余项目可以根据需要填写,然后点击“OK”按钮,会弹出一个是否保存别名设置的对话框,选择“是”,这样别名就创建完成了。
在表单Form1中放置一个TDatabase控件Database1,并设置以下属性:AliasName属性选择已创建的别名“mydatabase”,DatabaseName属性填写一个应用程序专用的别名,如“app_alias”(无需创建);Connected属性选择true,这时会弹出一个登录对话框,假如未设用户名和口令,则直接点击“OK”,假如在创建别名时设有用户名和口令,正确填写后再点击“OK”就可以连接了。 copyright dedecms
在表单Form1中增加一个TTable控件Table1并在DatabaseName属性中填写应用程序的专用别名,本例为“app_alias”,TableName属性中选择一个需要的数据表名,Active属性设为true。在表单Form1中增加一个TDataSource控件DataSource1,将其DataSet属性设为Table1。再增加一个TDBGrid控件DBGrid1和TDBNavigator控件DBNavigator1,将它们的DataSource属性都设为DataSource1,这样就可以看到Access中的内容了,并通过控件DBNavigator1可以对进行一些简单的操作。假如要对进行更多的操作可以通过对Table1编程来实现,在此不再赘述。在设计期使用Access简单、快捷,但灵活性差一些。
在运行期使用Access
在运行期使用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="DATABASE NAME=" app_path "123.mdb";
织梦内容管理系统
if(!Session1->IsAlias(alias_1))
//别名不存在
{
TStringListdataname=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将MSACCESS驱动配置中的DLL32由IDDAO32.DLL改为IDDA3532.DLL,并保存这个配置。
为了使程序运行得更流畅,可以在Database1的OnLogin事件函数中加入以下代码:
LoginParams->Values["PASSWORD"]="";
上一篇:用Access创建简单MIS管理系统 下一篇:VB通过DAO访问Access数据库
文章评论
共有位Admini5网友发表了评论 查看完整内容