版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在VB程序中用ADO对象动态创建数据库和表蒋铁海(广东外语外贸大学英文学院信息管理系510420)摘要:本文阐述了在VB程序中利用ADO对象动态创建数据库和数据表的方 法,这些方法在开发VB数据库应用程序中很有实用价值,它可以提高数据库程序 灵活性。关键词:数据库、数据表、ADO、ADOX1:问题的提出在Visual Basic中,常用的数据访问接口有下列三种:数据库访问对象(DAO, Data Access Object) > 远程数据库对象(RDO, Remote Data Object)和 ActiveX数据对象(ADO, ActiveX Data Object )。数据库访问技术
2、一直在不断进 步,而这三种接口的每一种都分别代表了该技术的不同发展阶段。最新的是ADO, 它是比RDO和DAO更加简单,然而更加灵活的对象模型。正因如此,越来越多的人 在用VB开发数据库软件时使用ADO作为数据访问接口。在开发过程中,我们通常 的使用的方法是:先使用数据库管理系统(例如:Microsoft Access)或YB中的可 视化数据管理器建立好数据库和数据表结构,然后在程序中通过使用ADODC数据库 控件或引用ADO对象与数据库中的表建立连接,再通过数据库感知控件(例如:文 本框、DataGrid等)来进行数据库的各种操作。在这种开发过程中,我们有时需要 面对这样一个问题:如何让用户
3、在程序运行过程中动态地建立自己所需的数据库和 数据表以提高程序的灵活性呢?在程序运行过程中建立自己所需的数据库和数据 表,其本质就是用代码(或者说通过编程)来建立数据库和数据表。众所周知,在 Foxpro或ASP编程中,这是很容易的一件事件。那么在VB数据库编程中乂是怎样 来操作的呢?在VB数据库编程中,如果使用DAO作为数据库访问接口技术,则可 以用CreateDatabase结合CreateTableDef方法来实现,U前已有不少书和杂志都 讲到了这种方法,本文就不再讲述了;但你如果使用的是最新的数据库访问接口技 术ADO,你却发现口前的书和杂志上没有文章讲到如何用代码来建立数据库和数据
4、表的方法,可有时我们非常需要用到这种方法,下面我们就来解决这个问题。2: ADO 与 ADOX我们先来对ADO和ADOX进行简单的认识。在VB6中,使用ADO开发数据库 应用程序时,我们要引用对象库"Microsoft ActiveX Data Objects 2. 5 Library",这个东西的简称就是ADO,它是VB6数据库最核心的对象群,也是VB 数据库开发人员经常所引用的对象库,在VB6中你可以看到它的各种版本,从2.0 版到2. 6版都有,很多人对它已经很熟悉,在此我们不再详细介绍。如果要在程序 运行过程中创建数据库和表,我们还要引用对象库"Micro
5、soft ADO Ext 2.1. For DDL Security”,简称为ADOX,其库文件名为是:Msadox.dll。ADOX是对ADO对 象和编程模型的扩展,它将ADO扩展为包括创建、修改和删除模式对象,如表格 和过程。它还包括安全对象,用于维护用户和组,以及授予和撤消对象的权限。 ADOX的对象如下表所示:对象说明Catalog包含描述数据源模式目录的集合。Column表示表、索引或关键字的列。Group表示在安全数据库内有访问权限的组帐号。Index表示数据库表中的索引。Key表示数据库表中的主关键字、外部关键字或唯一关键字。Procedure表示存储的过程。Table表示数据库
6、表,包括列、索引和关键字。User表示在安全数据库内具有访问权限的用户帐号。View表示记录或虚拟表的过滤集。ADOX 常用方法有:Append (包括 Columns、Groups、Indexes、Keys、 Procedures a Tables、Users、Views)、Create (创建新的目录)、Delete (删除集 合中的对象)、Refresh(更新集合中的对象)等等。有关ADOX的详细信息,请在 中参阅Microsoft发布的有关ADOX说明的Web页。3:在原有数据表的基础上产生新的数据表如果仅仅是在已有的数据表的基础上产生新的数据表,我们只要引用对象库 "Mic
7、rosoft ActiveX Data Objects 2. 5 Libraryn 再利用 SelectInto 语句就 可以了。例如:有一个名为Wage, mdb的数据库,数据库中有一个名为“工资表” 数据表,该数据表的字段有:编号、姓名、基本工资、津贴、应发工资、扣款、实 发工资等,这个表中已经有很多的记录。现在我们把其中的实发工资大于2000的 记录筛选岀来组成一个新表,新表的名称由用户从文本框中输入,新表中我们只要 三个字段,它们是:编号、姓名、实发工资。我们用下列程序就可以实现:(事先 在窗体中添加一个文本框Textl和一个命令按钮Command 1)Dim conn As New
8、ADODB. ConnectionDim rs As New ADODB. RecordsetDim command As New ADODB. commandPrivate Sub Commandl_Click()Dim bm As StringDim sql As StringIf Textl. Text <> "" Thenbm = Trim(Textl. Text)sql= "Select编号,姓名,实发工资Into " + bm + “ From工资表Where 实发工资>2000Set commandActiveConnec
9、tion 二 conncommand CommandText = sqlcommand ExecuteElseMsgBox "你必须输入一个名字"End IfPrivate Sub Form_Load()Dim str As Stringstr = App PathIf Right(str, 1) <> "" Thenstr 二 str + ""End Ifpstr = "Provider二Micros。ft. Jet OLEDB 3. 51;"pstr = pstr & "Persi
10、st Security Info二False;"pstr = pstr & "Data Source二"& str & ''wage mdb"conn. Open pstrrs. CursorLocation = adUseClientrs. Open "工资表",conn, adOpenKeyset, adLockPessimisticSet DataGridl. DataSource = rsEnd Sub当然,我们还可以把程序设计得更好,比如:让用户先在窗口中任意选择所 需的字段和一些条件
11、,然后再组合生成一个新表。但无论如何,这种操作只能在从 原表的基础上产生一个新表,不能产生一个数据库文件,并且新表和原表放在同一 个数据库中。4:建立新的数据库和表前面讲到的方法有一定的局限性,它不能让用户产生自己所需的数据库文 件,即使能产生数据表也只能在原有表的基础上生成。我们现在的LI的就是让用户 利用ADO对象在程序运行过程中创建数据库和表,就好象他利用Access来建立数 据库和表一样。为此,我们应该引用对象库"Microsoft ActiveX Data Objects 2. 5 Libraryn 和"Microsoft ADO Ext 2. 1. For DD
12、L Securityn我们不妨用一个实例来说明具体的操作过程和方法。我们的实例要达到U的 是:在程序运行过程中建立一个数据库,数据库的名称由用户输入。然后在数据库 中建立一个名为“MyTable”的数据表,数据表中有三个字段,它们分别是:“编 号”(整数型)、“姓名”(字符型,宽度为8)、“住址”(字符型,宽度为50), 接着在数据表中添加一条记录,最后在DataGrid控件中把记录的内容显示出来, 并且让用户在DataGrid控件中任意修改、添加记录。首先在VB中新建一个窗体,然后在“工程”菜单中引用对象库“Microsoft ActiveX Data Objects 2.5 Library
13、n 和"Microsoft ADO Ext 2. 1. For DDL Security”。接着定义三个窗体级的对象变量和一个窗体级的字符串变量,它们的 具体定义是:Dim cat As New ADOX. Catalog '不用cat用另外一个名字也可以Dim conn As New ADODB. ConnectionDim rs As New ADODB. RecordsetDim pstr As String '定义该变量是为了后面的书写方便为了更灵活地创建数据库,我们可以在窗体中加入一个通用对话框、一个 DataGrid控件,三个命令按钮,它们的标题分别是:创
14、建数据库和表、查看、更 新。通用对话框的作用是给用户输入数据库文件名和决定数据库的存放位置。“创建数据库和表”命令按钮对应的代码是:Private Sub Commandl_Click()Dim fm As String'fm变量用来获取用户输入的文件名CommonDialogl. Filter = "MDB 文件(*. mdb) ) *. mdb AllFiles (*. *)CommonDialogl. Filterindex = 1CommonDialogl. InitDir = "D:Jthpdper"CommonDialogl. Flags = 6CommonDialog
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度专业职业测评与居间合同3篇
- 二零二五年度P2P出借平台投资者教育与服务合同3篇
- 二零二五年度企业破产财产清算协议2篇
- 个性化条款:20249A文离婚合同案例分析版
- 二零二五版房屋征收拆迁补偿协议书3篇
- 二零二五年度建筑工程招投标与合同质量保证金管理协议书3篇
- 物业管理处与2025年度收费员服务协议3篇
- 2025年度门卫人员岗位职责优化聘用协议3篇
- 2025年度内蒙古自治区农业废弃物资源化利用承包合同3篇
- 二零二五年度城乡汽车租赁及售后服务合同4篇
- 2025年山东华鲁海运有限公司招聘笔试参考题库含答案解析
- 人教版物理八年级下册 专项训练卷 (一)力、运动和力(含答案)
- 山东省房屋市政工程安全监督机构人员业务能力考试题库-中(多选题)
- 《七律二首 送瘟神》教案- 2023-2024学年高教版(2023)中职语文职业模块
- 2024年中考语文满分作文6篇(含题目)
- 北师大版 2024-2025学年四年级数学上册典型例题系列第三单元:行程问题“拓展型”专项练习(原卷版+解析)
- 2023年译林版英语五年级下册Units-1-2单元测试卷-含答案
- 施工管理中的文档管理方法与要求
- DL∕T 547-2020 电力系统光纤通信运行管理规程
- 种子轮投资协议
- 执行依据主文范文(通用4篇)
评论
0/150
提交评论