在C++中使用Access数据库

2016-02-19 13:29 11 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐在C++中使用Access数据库,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - 编程语言 】

  在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事件函数中加入以下代码:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  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();

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  }

  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下调试运行通过。

来源:http://www.tulaoshi.com/n/20160219/1604472.html

延伸阅读
标签: ASP
       Oracle是世界上用得最多的数据库之一,活动服务器网页(ASP)是一种被广泛用于创建动态网页的功能强大的服务器端脚本语言。许多ASP开发人员一直在考虑,能否在开发互联网应用、电子商务网站、互联网管理系统时结合使用ASP和Oracle数据库?这个问题的答案是肯定的,我们还可以使用VB访问Oracle数据库。...
因为在Visual C++中使用内联汇编不需要额外的编译器和联接器,且可以处理Visual C++中不能处理的一些事情,而且可以使用在C/C++中的变量,所以非常方便。内联汇编主要用于如下场合: 1.使用汇编语言写函数; 2.对速度要求非常高的代码; 3.设备驱动程序中直接访问硬件; 4."Naked" Call的初始化和结束代码。 /...
标签: vb
  如果您在Access数据库、Access项目中删除数据或对象,可能会产生碎片并导致磁盘空间使用效率的降低。同时,数据库文件的大小并未减小,而是不断的增大,直至您的硬盘没有空间。有没有好的处理方法呢?其实,在Access中可以对数据库进行压缩优化以提升Access数据库和Access项目的性能,这样的压缩处理的实质是复制该文件,并重新组织文件...
目前,基于数据库服务器的桌面管理程序和Web程序已经有太多的应用了,尤其是网络的大量普及,孤立地数据库管理系统无法胜任分布式管理应用,但是面对基于Access数据库的现有的桌面应用我们也无法完全的摒弃。我们利用.Net 远程处理功能将连接和存取Access的行为封装为一个远程对象,供网络中其它客户端通过调用该远程对象来存取实际的Access数据...
精华网络内容 :http://www.qqread.com/network/ %@   Page   language="c#"   Debug="true"   Codebehind="Image2Access.aspx.cs"   AutoEventWireup="false"   Inherits="eMeng.Exam.Image2Access"   %     !DOCTYPE   HTML   P...

经验教程

158

收藏

17
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部