在CB中利用ACCESS数据库
当前位置:以往代写 > C/C++ 教程 >在CB中利用ACCESS数据库
2019-06-13

在CB中利用ACCESS数据库

在CB中利用ACCESS数据库

Access数据库在打点中获得了遍及的应用,在恒久的利用中已有很大都据资料存储在Access数据库的文件中,用C++ Builder编程时,往往也需要利用Access数据库,来实现数据的通报。

在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”就可以毗连数据库了。

在表单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))
//数据库别名不存在
{
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将MSACCESS驱动设置中的DLL32由IDDAO32.DLL改为IDDA3532.DLL,并生存这个设置。

为了使措施运行得更流通,可以在Database1的OnLogin事件函数中插手以下代码:

LoginParams->Values["PASSWORD"]="";

LoginParams->Values["USERNAME"]="";

这样在运行措施时就不会弹出数据库登录的对话框了。

    关键字:

在线提交作业