在VB中实现多种数据库的连接和访问

来源 :教育学刊 | 被引量 : 0次 | 上传用户:zwb1102
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】本文结合具体的事例,讲述了VB访问数据库的基本原则,阐述了使符合VB内置结构的Microsoft Access数据库在网络使用中保持同步的方法,以及访问加密的Microsoft Access数据库的方法,并对怎样提高VB访问数据库速率的措施和在使用过程中应注意的问题做了简单的介绍。
  【关键词】Visual Basic;数据库;Microsoft Access;连接;访问
  
  Visual Basic(VB)是微软公司可视化系列开发工具Visual Studio中的产品,是创建Windows应用程序最简便、最快捷的开发工具之一。其数据库的核心结构是所谓的Microsoft JET数据库引擎,它为VB与数据库的接口提供了基本的方法和手段。JET引擎被Visual Basic、Microsoft Access和其它Microsoft产品所共享,所以在VB中把Access数据库格式作为一种标准的内置格式,所有的非Access数据库都被称为外来数据库,因此在VB中连接和访问Access数据库和非Access数据库就有不同的方法。
  
  1 VB访问数据库的原则
  在VB中访问数据库,根据条件和数据库种类等的不同有不同的方法,但总的原则是:根据具体的环境、条件、要求而采用适当的方案。
  1.1 代码的重用和运行的效率。
  在VB中访问数据库,需要进行代码的编写,因此,在访问不同的数据库时,应尽量选择不需要频繁修改代码的访问方法。
  1.2 实现的简便性及易维护性。
  如果一种方法实现起来很复杂,工程的开发必然造成人力物力的浪费,同时这样设计出来的应用程序支持起来也更复杂或维护时更困难。
  1.3 安全性。
  这一条原则应根据具体的环境和条件决定。例如局域网的网络安全性要好于广域网,因而可直接利用数据控件如DC,这样实现起来方便快捷;而广域网需要大量的错误捕获。
  
  2 利用VB使ACCESS数据库在网络使用中保持同步的方法
  VB为实现同步,在数据库对象中提供了多个属性与方法来实现这一过程,以下介绍几个主要的属性与方法,分别对应同步化的几个步骤:
   2.1 Replicable属性。
  Replicable属性用来使一个数据库对象或数据库中的表对象、查询对象等具有可复制副本的属性,即成为设计正本。但数据库对象并不提供Replicable这一属性,因此首先要用Create Propety方法来创建它,然后把它添加到对象的属性集中,最后再给它赋值,使数据库成为设计正本。对于数据库对象而言,把Replicable属性设置为“True”将使数据库对象成为可复制的。以下代码将VB安装目录下附带的Nwind.mdb数据库成为一个设计正本(为确保安全在操作前备份了这一库文件):
  Private Sub Command1_Click()Dim dbNwind As Database’如果未引用DAO则一定要先引用Dim prpNew As Property Set dbNwind = OpenDatabase("Nwind.mdb", True)With dbNwind’建立Replicable属性,如果已经存在该属性则程序略过这一步On Error Resume Next
  Set prpNew = .CreateProperty("Replicable", dbText, "T").Properties.Append prpNew’设置数据库的Replicable属性为True.Properties("Replicable") = "T".CloseEnd WithEnd Sub.
  2.2 MakeReplica方法。
   MakeReplica方法从设计正本复制出一个新的完全副本。其语法为:database.MakeReplica replica, description, [options]。其中replica是代表一个新副本路径名称的字符串;description是对正在创建的新副本的一个描述字符串;options是一个可选项,可以是dbRepMakePartial常量(创建一个部分副本)或dbRepMakeReadOnly常量(防止用户修改新副本中的可复制对象),如果要建立的是一个只读式的部分副本,则要加入参数常量dbRepMakeReadOnly + dbRepMakePartial.
  在上一个例子中,在关闭数据库之前加入代码:
  MakeReplica "NwReplica", "replica of nwind.mdb"则从Nwind.mdb设计正本复制出一个名为NwReplica.mdb的副本,位置在Nwind.mdb同一目录中。
  2.3 Synchronize方法。
   Synchronize方法使两个完全副本(包括设计正本)同步化。其语法为:database. Synchronize pathname,[exchange]。其中pathname为要同步的目标副本的路径名称字符串(串中的.mdb扩展名可省略);exchange用来标识两个数据库之间的同步方向,这是一个可选项,默认为双向交换。
   Synchronize方法还可对通过Internet互联的数据库进行同步化。以下语句实现本地数据库正本与位于Internet服务器上的一个副本同步化:
  dbNwind.Synchronize"www.mycompany.myserver.com"&"/files/NwReplica.mdb", dbRepImpExpChanges + dbRepSyncInternet.
   2.4 PopulatePartial方法。
  利用Synchronize方法使两个完全副本同步化,不会出现任何问题,但如果用一个完全副本来同步一个部分副本,因为部分副本是由副本过滤器来从完全副本中过滤重新生成的,因此可能在部分副本中产生所谓的“孤立”记录,即这些记录不能再与其他副本保持同步。
  
  3 利用VB访问加密的Access数据库的方法
  在使用Access数据库时,很多重要数据库文件要求对用户是透明的,即用户只能通过应用程序对数据库操作。这样,一方面可以防止用户对数据库的非法更改,另一方面也可以防止其他开发者窃用数据库文件进行非法开发。
  在Access的安全策略中,通过在Workgroup中对Group和User级别上的权限控制来保证数据库的安全。
  但对于用到Access数据库的应用程序(比如利用Visual Basic编写的程序),如果在编程时不做特别的修改,这样的作法则会使程序难以调用数据库。
  在Visual Basic的不同版本中均提供了对Access加密数据库的访问方法,下面结合实例具体说明在VB中怎样使用加密的Access数据库。过程如下:
  3.1 运行Access工作组中的Microsoft Access Workgroup Administrator,可以创建新的system.mda文件,同时设定workgroupid。
  3.2 用Access创建名为DB1.MDB的新数据库。
  3.3 在Access中,选择“Security|Change Password...”改变Adminuser的口令。比如,将口令设为“password”。
  3.4 选取菜单命令“Security|User”,设立新用户,命为“Yuan”,之后将之加入Admin和Users组中。
  3.5 关闭Access,删除刚才创建的DB1.MDB数据库。
  3.6 打开Access,这时,要求以新用户“Yuan”登录。再创建一个数据库,仍然采用默认文件名DB1.MDB,同时设置口令为“password”。
  3.7 将目标数据库导入(Import)DB1.MDB中。
  3.8 使用菜单命令“Security|Permissions”,除了用户“Yuan”外,将其它组和用户对该数据库各个对象的权限都取消,然后关闭Access。
  3.9 备份目标数据库后,将DB1.MDB改名为目标数据库的名称。
  在这个过程中,关键是在VB中使用下述语句:
  SetDefaultWorkspace "Yuan", "password"之后执行打开数据库等操作。如果要使程序正常运行,还要将System.mda文件拷贝到程序目录中。采用加密数据库可以保护开发者的正当权益,而在Visual Basic程序中加入简单的语句就可以调用加密的Access数据库,便于实现。
  4 提高VB访问数据库的效率
  在VB中访问数据库时,对数据库的访问效率是十分重要的,因此,我们应该尽量提高VB访问数据库的效率,常用的方法有:
  4.1 使用事务处理更新数据库。
  VB的事务处理包括以BeginTrans开始,以CommitTrans或Rollback结尾的多条数据库操作指令,事务处理除了能很好的保证数据库的完整性以外,同时能大大提高数据库批量更新的效率。
  4.2 使用代码分解Select检索操作。
  使用Select进行数据库操作固然简单易用,但如果将一些检索操作分解为等价的手工检索代码,则对数据库的检索速度将大大加快。分解的基本方法是对检索关键字段进行索引,利用Seek方法定位后,根据索引的数据库已经排序的特点,进行遍历查找。
  4.3 使用attach绑定数据库表。
  当使用ODBC连接MS SQL Server、 Oracle和Sysbase之类的数据库服务器时,可以通过MS Access的attach功能将服务器上的表绑定到MS Access数据库中,因为MS Access数据库能缓存数据库服务器上表的结构,当访问ODBC数据源时能提高系统的访问性能。
  4.4 使用dbSQLPassThrough选项。
  连接MS SQL Serve、Oracle和Sysbase数据库服务器时,使用dbSQLPassThrough选项可将命令直接发送给数据库服务器,从而减少中间件对命令的检查和解释,提高了数据库的访问性能。
  
  5 使用Visual Basic访问数据库时应注意的几个问题
  Visual Basic是一门开发Windows应用程序很好的一种语言,使用它能够开发出大型的应用系统。在我们使用VB访问数据库应注意以下几个问题。
  5.1 如何来访问数据库。
  VB访问数据库一共提供了两种方法:一种是用数据控制,另一种是使用对象来访问数据库。
  5.2 关于书签指针即bookmark属性。
  在VB访问数据库时,数据库中的记录是没有记录号的。但VB提供了bookmark属性来记录当前访问记录的记录指针,这个bookmark就相当于记录号。
  5.3 注意变量类型的匹配。
  在访问数据库时,显示记录一般都使用格子控制,其中grid.text是子符串类型。但有些记录的数据项是空的(null),即没有数据,若将null装入grid.text显然会出错,所以这里就需要加入类型的判断,将null数据项赋于空格子符串。
  
  参考文献
  [1] 欧阳柳波、杨超,《Visual Basic 6.0程序设计》. 北京.电子工业出版社.2001.6
  [2] E.Winemilller 等,《Visual Basic 6.0 数据库开发》. 北京.清华大学出版社.1999.9
  [3] [美] Que CorPoration,《开放数据库互连——ODBC 2.0使用大全》.北京.清华大学出版社.1995
  [4] [美] Wayne Freeze,《Visual Basic数据库编程宝典》. 北京.电子工业出版社.2001.5
  [5] Curtis Smith、Michael Amundsen,《Visual Basic 6.0 数据库编程》. 北京.清华大学出版社.1999.11
  [6]同志工作室,《Visual Basic 6.0 数据库开发实例》.北京. 人民邮电出版社.2001.9
其他文献
1 物理课在中职教学中的地位  物理作为一门非常重要的基础课程,以逻辑缜密、条理清晰、结构严谨的语言为载体,以推理、论证为工具,对培养学生的科学态度和敬业精神,提高学生文化素质发挥着重要的作用。无论在日常生活中还是工程技术、煤炭生产中都广泛应用着物理学中力、热、光、电、磁的有关知识。作为一名中职生,要想掌握现代生产技术,适应现代生产和生活的需要,就应该在初中阶段已经接触过的一些比较浅易的物理知识的
期刊
【摘要】探索性别化的创业教育,开展女大学生创业教育研究与实践,从理论上说,丰富了高校的创业教育理论,丰富了大学生思想政治教育的理论内容,发展了社会性别理论。从实践上说,有利于提高女大学生的创业素质,推动女大学生的创业实践,有利于引领女大学生转变就业观念,拓宽就业思路,有利于提高女性的社会独立意识,促进个人发展。  【关键词】女大学生;创业教育;意义    近几年,为了解决就业难题,许多高校开展了
期刊
【摘要】对比美国高校重视信息化教育的典型做法,查找我国高校存在的差距,提出针对性对策。  【关键词】美国;信息化教育;做法;启示    在信息化教育方面,美国高校一直走在世界的前列,具有一定的代表性,其成功经验和做法  值得我国高校学习借鉴。    1 美国高校信息化教育的主要做法  1.1 重视信息技术的推广应用。  美国高校信息技术在教学中的应用发展非常迅速。譬如,波士顿大学提供了一个叫
期刊
现在新编教材,从小学到初中乃至高中,大学课本里,古诗文是必不可少的一项重要内容。诚然,古诗文是我们中华民族文化瑰宝,它是中国文化宝库中的一颗璀璨明珠。它那凝练含蓄的语言,生动明丽,动静相宜的一幅幅画面,意境创设十分优美,情感表达犹为深挚,由此,千百年来深受人们亲睐与尊崇,被人们争相传颂。  然而,古诗文的产生与现代诗文的产生,有很多不同,如背景的不同,时代跨越大,文化艺术形成的影响差异比较大,尤其
期刊
新课程标准下,初中物理教学如何激发学生的求知和探究欲,引导和激励学生进行自主学习,独立思考,解决问题,使学生终身受用,显得尤其重要。本文拟从五个方面谈“物理教学中学生自主探究能力的培养”。    1 建立融洽的师生关系是培养学生自主探究能力的基础  民主、平等、和谐、合作、愉悦、融洽的学习环境,才能给学生提供一个无拘无束的表现空间,让学生积极的思考,任意的表达,勇敢的探索。  课堂教学是师生面
期刊
新教材打破传统的化学实验课的教学模式,营造了一个适应学生全面发展所需要的全新化学实验课的教学模式,这种模式倡导学生主动参与、乐于探究、勤于动手;培养学生收集和处理信息的能力,获取新知识的能力、分析和解决实际问题的能力以及交流合作的能力。本人通过对新教材的实验教学及研究,对“实验”素材的教育功能,有了全新的理解和认识。    1 化学实验的教学的功能  无论是作为实践活动的实验(实验探究活动),还是
期刊
教师是课堂教学活动的组织者、指导者,学生才是主角,主体,教师要尽可能地激活学生的主体意识,促进他们自主学习,把机会留给学生,把愉悦还给学生,变被动学习为主动探索,让学生真正成为学习的主人。现结合本人的教学实际谈一些认识:    1 教给学生学习方法,上好讲读课  讲读课是培养学生自学能力的渠道,在设计教学过程中,我不仅研究教师怎样做,更注重地是考虑学生应该怎样学。  例如学《我们家的猫》这篇课文,
期刊
在信息时代的今天,改变沿用“教师在课堂上处于中心位置,‘三寸之舌,五尺讲台’、‘一支粉笔,一张铁嘴’,而学生只是被动地听讲”这一传统的教学模式的现状,实施教育手段现代化,是教育发展的必然趋势。因此,作为当今时代的人民教师,应该敢于突破传统的教学模式,勇于创新,充分发挥现代信息技术的优势,利用现有的各种先进教学设备,采用多媒体教学手段进行教学。并在实践中不断学习,逐步提高自身的多媒体课件制作水平和运
期刊
谚语是在群众中间 流传的固定语句,用简单通俗的话反应深刻的道理。所以,谚语具有广泛的群众性和深刻的哲理性。如果在课堂教学中恰当而适时的加以运用,可以起到“意想不到”的效果。  1 以谚语导入新课,引起学生兴趣  导入新课的方法很多,但归根结底是一样,即抓住学生的注意力,激起他们对新知识的强烈求知欲和好奇心,从而顺利的完成教学任务。比如在讲述横断山区山高谷深,交通不便时,可用“仰望山接天,俯视江如线
期刊
1 发挥音像资料作用,重组教材,创造新的教育资源  依据新课程标准编写的音乐教材是课程最直接最基本的资源,教材内容以主题单元的形式进行展示,每单元内容相互联系渗透,是师生发挥创造性功能的最直接的空间,是提高学生音乐素养的第一平台。  随着时代的飞速发展,CD,VCD,DVD,MP3,MP4,像雨后春笋,一个比一个容量大,清晰度高。我认为让各种音像资料“嫁接”,重新组合,这样就能“旧貌换新颜”“枯枝
期刊