Visual Basic在数据库中的应用

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:QQ0301
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:Visual Basic作为一种流行的编程软件,以其易学得到初学者的青睐并被广泛应用,本文从Visual Basic在数据库的应用方面总结出几点经验,以期为开发出高效、美观的数据库应用程序提供一些便利。
  关键词:接口对象法;数据控件法;统一数据访问;ADO
  中图分类号:TP311.13文献标识码:A 文章编号:1009-3044(2007)04-10932-02
  Visual Basic作为微软公司开发的第三代Basic语言,是一种可视化的,面向对象和采用驱动方式的结构化高级程序设计语言,它使用Windows内部的应用程序接口(API)函数以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据库连接(ODBC)等技术。在VB中,目前最流行的是ADO,它是比RDO和DAO更加简单、更加灵活的对象模型。所以本文重点介绍使用ADO作为数据访问接口。
  
  1 VB访问数据库的方法
  VB访问数据库的方法很多,一般情况下分成两大类,而每一类又有很多种方法。
  1.1 接口对象法
  (1)VB—SQL法:通过DB—Library访问微软的SQL Server,是Visual Basic结构化查询语言;
  (2)ODBC API法:开放式的数据库连接(Open Data base Connectivity),是一种公认的关系数据源的接口界面;
  (3)DAO/Jet法与DAO/ODBC Direct法:数据访问对象(Data Access Objects),是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM 数据库,使用DAO/ODBC Direct功能可以实现远程RDO功能;
  (4)RDO 2.0法:远程数据对象(Remote Data Objects)和集合为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。对象和集合都具有描述数据库的各个部件特征的属性以及用来操作这些部件的方法;
  (5)ADO法:Active数据对象(Active Data Objects)实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE—DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。可访问任何一种ODBC数据源和任何经过OLE-DB界面接口的数据源。
  1.2 数据控件法
  (1)Data Control:是DAO/Jet数据界面的接口;
  (2)Data Control/ODBC Direct:是DAO/ODBC Direct数据界面接口;
  (3)Remote Data Control/RDC:是RDO数据界面接口;
  (4)Advanced Data Connector JADC :ADO数据界面接口。
  这些控件提供了一种减少代码实现数据访问的途径,因为可以使用同样的对象、属性和方法来处理各种不同的数据库格式。同时,如果从一种数据库格式变到另一种格式,只需变动少量的代码就可以适应这种改变。甚至可以创建这样的应用程序,在单一的查询或报表中连接来自多个不同数据库的表。
  
  2 新的访问数据库策略
  “统一数据访问” (Universal Data Access)的策略是微软随着Web应用软件的迅速发展和现有数据存储形式的多种多样,Visual Basic访问数据库的解决方案面临诸如快速提取分布于企业内部和外部有用商业信息等的多种挑战的情况下提出的新的访问数据库策略。“统一数据访问”提供了高性能的存取包括关系型和非关系型在内的多种数据源,提供独立于开发工具和开发语言的简单的编程接口,这些技术使得企业集成多种数据源、选择更好的开发工具、应用软件、操作平台、建立维护的解决方案成为可能。“统一数据访问”(Universal Data Access)的基础是Microsoft的数据访问组件。这些组件包括ActiveX Data Objects (ADO)、Remote Data Service(RDS,也称“高级数据连接器” 或ADC)、OLE DB和ODBC。
  
  3 最新的数据库访问技术ADO技术
  使用VB6开发数据库应用程序时,需要引用对象库“Microsoft ActiveX Data Objects 2.5 Library”,简称ADO。它是VB6数据库最核心的对象群,也是VB数据库开发人员经常引用的对象库。
  3.1 使用ADO在原有数据表的基础上产生新表
  如果仅仅是在已有数据表的基础上产生新表,只需要引用对象库“Microsoft ActiveX Data Objects 2.5 Library”,再利用“Select Into”语句就可以了。在此不详细叙述。
  3.2 使用ADO动态建立新的数据库和表
  要利用ADO对象在程序运行过程中创建新的数据库和表,就好像利用Access来建立数据库和表一样,应该引用对象库“Microsoft ActiveX Data Objects 2.5 Library”和“Microsoft ADO Ext 2.1 For DDL Security”。
  不妨用一个实例来说明具体的操作过程和方法。我们的实例要达到目的是:在程序运行过程中建立一个数据库,数据库的名称由用户输入。然后在数据库中建立一个名为"txl"的数据表,数据表中有三个字段,它们分别是:"编号"(整数型)、 "姓名"(字符型,宽度为8)、"住址" (字符型,宽度为50),接着在数据表中添加一条记录,最后在DataGrid控件中把记录的内容显示出来,并且让用户在DataGrid控件中任意修改、添加记录。
  首先在VB中新建一个窗体,然后在"工程"菜单中引用对象库"Microsoft ActiveX Data Objects 2.5 Library"和"Microsoft ADO Ext 2.1. For DDL Security"。接着定义三个窗体级的对象变量和一个窗体级的字符串变量,它们的具体定义是:
  Dim cata As New ADOX.Catalog
  Dim corm As New ADODB.Connection
  Dim rs As New ADODB.Recordset
  Dim pstr As String ’定义该变量是为了后面的书写方便
  为了更灵活地创建数据库,可以在窗体中加入1个通用对话框、1个DataGrid控件和3个命令按钮,它们的标题分别是:“创建数据库和表”、“查看”和“更新”。通用对话框的作用是给用户输入数据库文件名和决定数据库的存放位置。“创建数据库和表”命令按钮对应的代码是:
  Private Sub Command1_Click()
  Dim fm As String’fm变量用来获取用户输入的文件名
  CommonDialog1.Filter= "MDB文件(*.mdb) |*.mdb|AllFiles(*.*)|*.*|"
  CommonDialog1.FilterIndex = 1
  CommonDialog1.InitDir = "D:\txl"
  CommonDialog1.Flags = 6
  CommonDialog1.Action = 2
  If CommonDialog1.FileName = "" Then
  MsgBox "你必须输入一个文件名,请重新保存一次!"
  Exit Sub
  Else
  fm = CommonDialog1.FileName
   End If
  pstr = "Provider=Microsoft.Jet.OLEDB.4.0;" '不能把这里的4.0改为3.51
  pstr = pstr & "Data Source=" & fm
  cata.Create pstr'创建数据库
  Dim tbl As New Table
  cat.ActiveConnection = pstr
  tbl.Name = "txl"'表的名称
  tbl.Columns.Append "编号", adIntegar,'表的第一个字段
  tbl.Columns.Append "姓名", adVarWChar, 8'表的第二个字段
  tbl.Columns.Append "住址", adVarWChar, 50'表的第三个字段
  cata.Tables.Append tbl '建立数据表
  corm.Open pstr
  rs.CursorLocation = adUseClient
  rs.Open "txl", corm, adOpenKeyset, adLockPessimistic
  rs.AddNew '往表中添加新记
  rs.Fields(0).Value = 9527
  rs.Fields(1).Value = "李二"
  rs.Fields(2).Value = "重庆南山"
  rs.Update
  End Sub
  上面程序中有一个需要说明的地方,这就是语句:pstr = "Provider=Microsoft.Jet-
  .OLEDB.4.0;",这个语句表示Microsoft Jet OLEDB驱动程序的版本是4.0,这是目前最新的版本,利用它你可以用VB中的ADO对象访问Access2000及其以下版本所建立的数据库。你不能把这里的"4.0"改为"3.51",否则程序不能正常运行。
  在程序运行时只要用户单击该命令按钮就可以创建自己所需的数据库。
  "查看"命令按钮对应的代码是:
  Private Sub Command3_Click()
  Set DataGrid1.DataSource = rs
  End Sub
  "更新"命令按钮对应的代码是:
  Private Sub Command4_Click()
  rs.UpdateBatch
  End Sub
  我们这个实例只是用来说明问题,在实际应用当中你可以把它进一步改进,例如:你在窗体中再增加一些文本框和组合框,供用户输入或选择数据表的名称、字段的名称、字段的宽度和小数位数。这样,用户就可以自主地决定数据库的所有内容了,程序的灵活性也就大大提高了。
  
  4 结束语
  如果使用的是最新的数据访问接口技术ADO(Microsoft强烈建议大家使用这种最新技术),又想在程序运行过程中创建数据库文件和数据表,此时,应该在Visual Basic 6.0中引用对象库"Microsoft ActiveX Data Objects 2.5 Library"和"Microsoft ADO Ext 2.1. For DDL Security",然后使用ADOX对象的Create、Append等方法就可以实现。 这种方法使用的Microsoft Jet OLEDB驱动程序的版本是4.0,因此,使用这种方法建立的数据库文件和数据表可以直接使用Access2000打开。在VB数据库软件开发过程中进行了调查,该方法在提高程序的灵活性和满足用户的特殊需要方面有很大的作用。
  参考文献:
  [1] 谭浩强,薛淑斌,袁玫.Visual Basic程序设计[M].北京:清华大学出版社,2000.
  [2] Rob K121mn1.轻松学用ADO编程[M],北京:电子工业出版社,2001.
  [3]赵斯思.Visual Basic数据库编程技术与实例[M].北京:人民邮电出版社,2004.
  [4]周颖.Visual Basic 6.0实例精通[M].北京:清华大学出版社,2000.
  本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
2007年4月6日,上海易当网络科技有限公司正式宣布,已经同韩国艺堂娱乐产业有限公司(YeDang Online)签署了《ACE Online》的代理协议。根据协议,易当网络将拥有这款3D大型多人在线角色扮演飞行射击游戏在中国大陆地区的独家运营权。  在这款集角色扮演、飞行、射击等多种元素的大型3D网游中,玩家们将体验到前所未有的刺激。再加上新颖的游戏模式、科幻故事背景、超酷的飞行动作和互动性极强
期刊
摘要:校园网络建设中IP地址匮乏是一个十分突出的问题,NAT是解决该问题的一种比较行之有效的技术,本文探讨了NAT技术的原理以及在linux系统中的实现方案。  关键词:NAT;Linux;私有地址;全局地址  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)04-10984-03    1 引言  IP地址的匮乏对于任何一个高校的网络管理员来讲,都应该是一个让人头疼的
期刊
拼音输入法是目前大家使用非常广泛的一种输入法,由于使用简单、门槛低而深得用户喜欢,相比之下,五笔输入法却需要掌握五笔拆分的规则,必须背五笔字根,让很多用户望而却步。也正因为如此,近年来拼音输入法蓬勃发展,2006年,搜狗拼音输入法的横空出世让拼音输入法领域为之一震,而就在最近,谷歌拼音输入法的推出让输入法领域再掀波澜,加上以前用户使用的紫光输入法、拼音加加、微软拼音、智能ABC,一时间,拼音输入法
期刊
摘要:PDF文件格式是国际通用的电子文档交换事实标准,PDF文档可以在各种平台下阅读、编辑、发布。通过实例介绍在C++中用PDFLib开发库创建PDF文档的过程, PDFlib 几乎可以在所有计算机操作系统上运行。  关键词:C++;PDF文档;PDFLib开发库  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)04-11024-02    1 PDF文档简介  PD
期刊
摘要:利用XSLT将XML文档转换成格式化过的HTML代码的方法的提出,避免了Ajax中使用JavaScipt动态遍历XML节点来创建结果表格所导致创建一个大字符串所引发的种种问题,提高了代码的可维护性,改善了网络性能。  关键词:动态搜索;Ajax;XSLT  中图分类号:TP393文献标识码:A 文章编号:1009-3044(2007)04-10991-01    1 引言  随着信息访问量和
期刊
摘要:STDF文件格式是一种简单并条理分明的标准,利用它可以在半导体测试工序中分享和交换测试数据。通过对文件标准的基本结构的了解,可以使用JAVA程序来实现读取文件中的数据。  关键词:标准测试数据格式;JAVA;自动测试设备  中图分类号:TP31 文献标识码:A文章编号:1009-3044(2007)04-11017-02    1 引言  随着半导体测试工业的发展,许多供应商提供网络化的系统
期刊
摘要:authorware多媒体制作软件除了制作课件以外,也能制作具有趣味性的游戏。本文介绍在authorware中利用交互图标与判断图标等的结合实现找碴游戏的设计。  关键词:authorware 交互图标;热区域响应;判断图标;找碴游戏  中图法分类号:TP311.1 文献标识码:A文章编号:1009-3044(2007)04-11038-02    1 引言  authorware是一个功能
期刊
摘要:针对Linux环境下的守护进程daemon,分析了一般性守护进程的编写方法,并提出若干见解,通过总结归纳进而为设计和开发守护进程提供了有意的参考,给出了基于Linux守护进程实现的主要思想。  关键词: 守护进程;信号量;控制终端  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)04-11026-01    1 引言  Linux在启动时需要启动很多系统服务,它
期刊
摘要:本文介绍了基于SPCE061A单片机的多路温度采集系统,以及结合DS18B20实现多路温度控制,并给出了部分硬件系统框图和部分主要软件流程图。  关键词:SPCE061A;DS18B20;多路采集;语音  中图分类号:TP313文献标识码:A 文章编号:1009-3044(2007)04-11041-02  温度是工业生产中常见的和最基本的参数之一,在生产过程中常需对温度进行检测和监控。采用
期刊
摘要:基于ASP.NET的部队指挥信息集成的目的不是替换现有的异构平台、数据库、应用软件以及服务器,而是将他们从数据层开始有机地集成在一起,解决“信息孤岛”以及信息交互的障碍问题。  关键词:部队指挥;信息集成;ASP.NET   中图分类号:TP391 文献标识码:A文章编号:1009-3044(2007)04-11007-02    1 引言  众所周知,Internet的出现为企业提供了巨大
期刊