首页  学校文化  作品展示  咨询留言  课程介绍  招聘求职  权威认证  精彩教程
咨询留言
在线报名
对外事业
您当前的位置:长城教育网 >> 精彩教程 >> 编程开发 >> 正文
长城学校暑期八折优惠招生 长城学校大专学历、中专学历证书班招生-学历网上可查 长城学校对外事业部承揽业务
VB程序中用ADO对象动态创建数据库和表(二)
作者:长城学校     来源:长城教育网     点击数:     更新时间:2006-8-24   
  文章导读:
长城计算机学校报名咨询:0315-7759907 就业中心:0315-2625172 电脑硬件:0315-2657607 网站开发:0315-2931022 装修设计:0315-2678275 电子邮箱:ccjyw@263.net 咨询QQ:412644056 工作时间:周一至周六8:00-21:00;周日:8:00-18:00
导读广告

算机学校 唐山电脑学校 唐山计算机学校

正文:

4: 建立新的数据库和表

  前面讲到的方法有一定的局限性,它不能让用户产生自己所需的数据库文件,即使能产生数据表也只能在原有表的基础上生成。我们现在的目的就是让用户利用ADO对象在程序运行过程中创建数据库和表,就好象他利用Access来建立数据库和表一样。为此,我们应该引用对象库"Microsoft ActiveX Data Objects 2.5 Library"和"Microsoft ADO Ext 2.1. For DDL Security"

  我们不妨用一个实例来说明具体的操作过程和方法。我们的实例要达到目的是:在程序运行过程中建立一个数据库,数据库的名称由用户输入。然后在数据库中建立一个名为"MyTable"的数据表,数据表中有三个字段,它们分别是:"编号"(整数型)、 "姓名"(字符型,宽度为8)、"住址" (字符型,宽度为50),接着在数据表中添加一条记录,最后在DataGrid控件中把记录的内容显示出来,并且让用户在DataGrid控件中任意修改、添加记录。

  首先在VB中新建一个窗体,然后在"工程"菜单中引用对象库"Microsoft ActiveX Data Objects 2.5 Library"和"Microsoft ADO Ext 2.1. For DDL Security"。接着定义三个窗体级的对象变量和一个窗体级的字符串变量,它们的具体定义是:

Dim cat As New ADOX.Catalog '不用cat用另外一个名字也可以
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim pstr As String '定义该变量是为了后面的书写方便

  为了更灵活地创建数据库,我们可以在窗体中加入一个通用对话框、一个DataGrid控件,三个命令按钮,它们的标题分别是:创建数据库和表、查看、更新。通用对话框的作用是给用户输入数据库文件名和决定数据库的存放位置。 "创建数据库和表"命令按钮对应的代码是:

Private Sub Command1_Click()
 Dim fm As String 'fm变量用来获取用户输入的文件名
 CommonDialog1.Filter = "MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|"
 CommonDialog1.FilterIndex = 1
 CommonDialog1.InitDir = "D:\Jthpaper"
 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
 cat.Create pstr '创建数据库
 Dim tbl As New Table
 cat.ActiveConnection = pstr
 tbl.Name = "MyTable" '表的名称
 tbl.Columns.Append "编号", adInteger '表的第一个字段
 tbl.Columns.Append "姓名", adVarWChar, 8 '表的第二个字段
 tbl.Columns.Append "住址", adVarWChar, 50 '表的第三个字段
 cat.Tables.Append tbl '建立数据表
 conn.Open pstr
 rs.CursorLocation = adUseClient
 rs.Open "MyTable", conn, adOpenKeyset, adLockPessimistic
 rs.AddNew '往表中添加新记录
 rs.Fields(0).Value = 9801
 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",否则程序不能正常运行;在VB6中,3.51版本的Microsoft Jet OLEDB驱动程序对应的是Access97数据库。换而言之,用这种方法建立的数据库和表跟用Access2000所建立的数据库和表是同一类型的,你只能直接用Access2000来打开,虽然你可以用VB6来访问这种数据库和其中的数据表,但你不能用Access97或VB6中的"可视化数据管理器"来直接打开。

  在程序运行时只要用户单击该命令按钮就可以创建自己所需的数据库。"查看"命令按钮对应的代码是:

Private Sub Command3_Click()
 Set DataGrid1.DataSource = rs
End Sub
"更新"命令按钮对应的代码是:
Private Sub Command4_Click()
 rs.UpdateBatch
End Sub

  我们这个实例只是用来说明问题,在实际应用当中你可以把它进一步改进,例如:你在窗体中再增加一些文本框和组合框,供用户输入或选择数据表的名称、字段的名称、字段的宽度和小数位数。这样,用户就可以自主地决定数据库的所有内容了,程序的灵活性也就大大提高了。

  5: 结束语

  如果你使用的是最新的数据访问接口技术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数据库软件开发过程中已多次使用这种方法,该方法在提高程序的灵活性和满足用户的特殊需要方面有很大的作用长城计学校 长城教育版权所有 唐山电脑学校 唐山计算机学校

  文章录入:长城学校
  • 上一篇文章: VB程序中用ADO对象动态创建数据库和表(一)

  • 下一篇文章: 没有了
  • 我要咨询   我要报名   打印此文  关闭窗口
    热门文章
    推荐文章
    相关文章
    VB程序中用ADO对象动态创建数据库...
    掌握VB中的ADO数据对象编程
    用VB播放Avi、Wave、midi文件
    Visual Basic.NET实现双检锁(DCL...
    Visual Basic.NET实现双检锁(DCL...
    用Excel函数快速录入26个英文字母...
    Office超级技巧之PowerPoint(下...
    Office超级技巧之PowerPoint(上...
     普通 怎样制作刻录系统自动还原光碟
     普通 学好五笔字型输入法的几点建议
     普通 输入法使用诀窍
     普通 广告策划书的书写
     普通 用 gdb 调试 GCC 程序
     普通 C 语言编程——什么是C
     普通 硬盘故障巧维修——了解常见的硬...
     普通 硬盘故障巧维修——为什么BIOS检...
     推荐 Adobe InDesign CS 简介
     推荐 电脑艺术设计大师之路#7-图像调...
     推荐 电脑艺术设计大师之路#6-图像调...
     推荐 3DS Max 7 Mental Ray渲染器全攻...
     推荐 电脑艺术设计大师之路#5-探索图...
     推荐 用Photoshop设计微形3D界面01
     推荐 3DS Max 7 Mental Ray渲染器全攻...
     推荐 Firewoks 营造残破纹理02
     
     
     
     
     
    设为首页 | 加入收藏 | 关于学校|  对外事业 | 联系站长 | 友情链接 | 咨询留言