在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"]="";

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

时间: 2024-07-31 16:41:07

在CB中使用ACCESS数据库的相关文章

用C#在datagridview中显示access数据库一张表中的内容,但是列的显示乱了

问题描述 用C#在datagridview中显示access数据库一张表中的内容,但是列的显示乱了 ACCESS数据库表中列的顺序是1左,2左,11左,12左,1右,2右,11右,12右,但是当显示在datagridview中时就呈现上面的乱码, 解决方案 这是一个bug 试试看:http://blog.csdn.net/lukesunch/article/details/4644101 再不行就不要绑定,手工循环添加.

access数据库-C#中连接ACCESS数据库中某一列,在combobox列表中表示所有行,代码该如何写

问题描述 C#中连接ACCESS数据库中某一列,在combobox列表中表示所有行,代码该如何写 求助:C#中连接ACCESS数据库中某一列,在combobox列表中表示所有行,代码该如何写 解决方案 从列转到数组,再用数组绑定控件. .DataSource = 读取条件设定.Tables["五行农历显示"].AsEnumerable().Select(d => d.Field("日期")).ToArray();/*表中某列转数组*/ 解决方案二: 初学者,意

如何在vb中引用access数据库中的窗体

问题描述 如何在vb中引用access数据库中的窗体 如何在vb中引用access数据库中的窗体 我在vb.net中不知道怎么链接access,我打开那个数据库连接也只能连到表格,连不到窗体,我想连接窗体.大概就是实现在vb.net中按下一个bottom可以弹出access中我已经做好的一个窗体.请告诉我具体的步骤及代码.是期末作业,请各位大神帮忙啊!!!

Java Web项目中连接Access数据库的配置方法_JSP编程

老师决定期末考试采用access数据库实现增删改查,我认为现在的我已经没有问题了,但是以前都是在JSP页面中连接access数据库,无论是以下的那种方式都进行了连接的练习,但是现在我想让我的项目中的访问access数据库的java代码,封装到DAO中,在DAO中连接数据库,没有和Servlet API有任何的关系.对于大多数人都会优先选择使用ODBC数据源的方式或者是使用绝对路径的方式连接access数据库,但是我个人认为,这样做不太好,如果采用这样的方式,项目做好后,放到他人的服务器上是无法运

/*紧急*/ASP.NET 2.0中访问Access数据库的问题

问题描述 有一个StudentInfo.mdb的Access数据库文件,里面有一张StudentInformation的数据表请问各位大哥,在ASP.NET2.0里怎样连接Access数据库?怎样设置连接字符串?需要配置其他什么吗?谢谢! 解决方案 解决方案二:直接用它自带的组件就可以连了.解决方案三:你去网上GOOGLE一下吧,很多实例.----------------------------------------------------------1.写在Web.config中使用相对路径

ASP.NET中防止Access数据库下载

access|asp.net|数据|数据库|下载 如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多.在这里只是探讨ASP.NET下防止Access数据库被下载的方法,有些是对以前方法的总结,部分是自己原创.其中可能有不完善甚至不正确的地方,欢迎大家指出,一同进步. 目前的解决方案主要有以下几种: 1. 把数据库文件放置到站点目录之外 2. 设置存放数据库文件的IIS目录权限为不可读取(IIS信息服务管理->选择需要设置目录->右键->属性->目录选项卡->

在VB中压缩ACCESS数据库

如果您在Access数据库.Access项目中删除数据或对象,可能会产生碎片并导致磁盘空间使用效率的降低.同时,数据库文件的大小并未减小,而是不断的增大,直至您的硬盘没有空间.有没有好的处理方法呢?其实,在Access中可以对数据库进行压缩优化以提升Access数据库和Access项目的性能,这样的压缩处理的实质是复制该文件,并重新组织文件在磁盘上的存储方式.但是,在Access项目中进行这样的压缩不会影响到数据库对象(例如表或视图),因为它们是存储在Microsoft SQL Server数据

在ASP程序中访问Access数据库

access|程序|访问|数据|数据库          在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了.而对于小型的数据库应用需求,微软的Access数据库,应该是与ASP程序配套使用的首选.由于Access数据库的ODBC驱动程序支持的SQL指令全,执行效率高,所以Access后台数据库+ASP服务器端程序+客户端IE浏览器,是一个精练实用高效的组合模式.         在这种使用模式中,ASP程序无疑是最重要的,是沟通客户端和后台

.NET中防止Access数据库下载_实用技巧

如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多.在这里只是探讨ASP.NET下防止Access数据库被下载的方法,有些是对以前方法的总结,部分是自己原创.其中可能有不完善甚至不正确的地方,欢迎大家指出,一同进步.          目前的解决方案主要有以下几种: 1.       把数据库文件放置到站点目录之外 2.       设置存放数据库文件的IIS目录权限为不可读取(IIS信息服务管理->选择需要设置目录->右键->属性->目录选项卡->取消读取