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

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

以上程序在Windows95操作系统,C++ Builder 3下调试运行通过。

Builder中使用Access数据库相关推荐

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

    .net中防止access数据库下载 如何防止access数据库下载是一个很老的话题了,网上的讨论也比较多.在这里只是探讨asp.net下防止access数据库被下载的方法,有些是对以前方法的总结,部 ...

  2. java web access_Java Web项目中连接Access数据库的配置方法

    本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...

  3. DELPHI中操作ACCESS数据库

    DELPHI中操作ACCESS数据库(建立.mdb文件,压缩数据库) 以下代码在WIN2K,D6,MDAC2.6下测试通过, 编译好的程序在WIN98第二版无ACCESS环境下运行成功. //在之前u ...

  4. [原创].NET中防止Access数据库下载

    .NET中防止Access数据库下载 如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多.在这里只是探讨ASP.NET下防止Access数据库被下载的方法,有些是对以前方法的总结,部 ...

  5. php access数据库_在PHP中使用Access数据库

    php access数据库 A previous client of mine had an Access database of products they sell, which they had ...

  6. word数据源mysql,Word2013中使用Access数据库的方法

    Word 2013允许将Access数据库中的表和查询添加到Word文档中,下面介绍Word2013中使用Access数据库的具体操作方法. 1.启动Word 2013,打开需要添加Access数据库 ...

  7. 具体解释VB中连接access数据库的几种方法

    在VB中,连接ACCESS数据库的方法主要有以下三种 使用ADO对象,通过编写代码訪问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件高速创建数据库连接 有三种连接方法 ...

  8. 在ASP程序中访问Access数据库

    嵌入式培训教程 在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了.而对于小型的数据库应用需求,微软的Access数据库,应该是与ASP程序配套使 ...

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

    如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多.这里我们给出几种在ASP.NET下防止Access数据库被下载的方法. 我们这里假设Access数据库名字为 test.mdb. ...

  10. 详解VB中连接access数据库的几种方法

    在VB中,连接ACCESS数据库的方法主要有下面三种 使用ADO对象,通过编写代码访问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件快速创建数据库连接 有三种连接方法 ...

最新文章

  1. elasticsearch 分页查询实现方案——Top K+归并排序
  2. shell脚本自动回车_干货分享:Linux shell脚本分享!!快收藏起来吧
  3. 多线程学习(二)----AfxBeginThread
  4. python 字符串总结
  5. GoLang MySQL CRUD Example
  6. 直接在低版本IE6/7/8浏览器中使用HTML5的audio和video标签播放视频音频的办法
  7. MySQL临时表(转)
  8. jQuery使用ajax错误的重复发送请求的解决办法
  9. linux vi编辑撤销,vi撤销命令(u和U),撤销上一次的操作
  10. 因果和阴阳,哪个更根本?
  11. 《趣谈网络协议》学习笔记
  12. hp probook fn_如何在HP ProBook(或兼容笔记本电脑)上安装Mac OS X Lion
  13. 【OpenCV】基于Qt的“破产版”全能扫描王
  14. DNS的更新和ddns(动态域名解析)
  15. 用 m3u8 下载网页视频直接保存为 MP4
  16. 如何在 R 中找到卡方临界值
  17. Altium Designer笔记之有效低信号的顶线
  18. 怎么把pdf转换成ppt直接进行编辑
  19. ArcEngine添加指北针
  20. 易语言超级算法转php,易语言 PHP RC4算法同步应用源码

热门文章

  1. P问题、NP问题、NPC问题和NP-hard问题详解
  2. 关于项目文档管理,现在开始就别揪心了!DOClever让你的项目文档纵享丝滑!
  3. RIP/EIGRP/OSPF/ISIS使用的端口号/协议号
  4. 利用PHP一步解决NAS的Heimdall导航页的内外网切换以及Openwrt等其他局域网ip的跳转
  5. 注册验证python_Python登录注册验证功能实现
  6. 用户访谈与问卷调查怎么做
  7. 3D打印树莓派4B外壳—内置UPS和统计显示信息
  8. 使用ACR122U NFC读卡器对M1卡进行读写操作(可以读写中文)
  9. php英文商城,童装英文外贸网站系统
  10. ssdp协议 upnp_【零知ESP8266】教程:SSDP简单服务发现协议示例