1、 2: ADO与ADOX我们先来对ADO 和ADOX进行简单的认识。在VB6中,使用ADO开发数据库应用程序时,我们要引用对象库Microsoft ActiveX Data Objects 2.5 Library, 这个东西的简称就是ADO,它是VB6数据库最核心的对象群,也是VB数据库开发人员经常所引用的对象库,在VB6中你可以看到它的各种版本,从2.0版到2.6版都有,很多人对它已经很熟悉,在此我们不再详细介绍。如果要在程序运行过程中创建数据库和表,我们还要引用对象库Microsoft ADO Ext 2.1. For DDL Security,简称为ADOX,其库文件名为是:Msadox
2、.dll。ADOX是对 ADO 对象和编程模型的扩展,它将 ADO 扩展为包括创建、修改和删除模式对象,如表格和过程。它还包括安全对象,用于维护用户和组,以及授予和撤消对象的权限。ADOX的对象如下表所示:对象说明Catalog包含描述数据源模式目录的集合。Column表示表、索引或关键字的列。Group表示在安全数据库内有访问权限的组帐号。Index表示数据库表中的索引。Key表示数据库表中的主关键字、外部关键字或唯一关键字。Procedure表示存储的过程。Table表示数据库表,包括列、索引和关键字。User表示在安全数据库内具有访问权限的用户帐号。View表示记录或虚拟表的过滤集。AD
3、OX常用方法有:Append(包括Columns、Groups、Indexes、Keys、Procedures、Tables、Users、Views)、Create(创建新的目录)、Delete(删除集合中的对象)、Refresh(更新集合中的对象)等等。有关 ADOX 的详细信息,请在 中参阅 Microsoft 发布的有关 ADOX说明的 Web 页。3: 在原有数据表的基础上产生新的数据表如果仅仅是在已有的数据表的基础上产生新的数据表,我们只要引用对象库再利用SelectInto语句就可以了。例如:有一个名为Wage.mdb的数据库,数据库中有一个名为工资表数据表,该数据表的字段有:编号
4、、姓名、基本工资、津贴、应发工资、扣款、实发工资等,这个表中已经有很多的记录。现在我们把其中的实发工资大于2000的记录筛选出来组成一个新表,新表的名称由用户从文本框中输入,新表中我们只要三个字段,它们是:编号、姓名、实发工资。我们用下列程序就可以实现:(事先在窗体中添加一个文本框Text1和一个命令按钮Command1)Dim conn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim command As New ADODB.commandPrivate Sub Command1_Click()Dim bm As StringD
5、im sql As StringIf Text1.Text Thenbm = Trim(Text1.Text)sql= Select 编号,姓名,实发工资 Into + bm + From 工资表 Where 实发工资2000Set command.ActiveConnection = conncommand.CommandText = sqlcommand.ExecuteElseMsgBox 你必须输入一个名字End IfPrivate Sub Form_Load()Dim str As Stringstr = App.PathIf Right(str, 1) str = str + pst
6、r = Provider=Microsoft.Jet.OLEDB.3.51;pstr = pstr & Persist Security Info=False;Data Source= & str &wage.mdbconn.Open pstrrs.CursorLocation = adUseClientrs.Open , conn, adOpenKeyset, adLockPessimisticSet DataGrid1.DataSource = rsEnd Sub当然,我们还可以把程序设计得更好,比如:让用户先在窗口中任意选择所需的字段和一些条件,然后再组合生成一个新表。但无论如何,这种操
7、作只能在从原表的基础上产生一个新表,不能产生一个数据库文件,并且新表和原表放在同一个数据库中。4: 建立新的数据库和表前面讲到的方法有一定的局限性,它不能让用户产生自己所需的数据库文件,即使能产生数据表也只能在原有表的基础上生成。我们现在的目的就是让用户利用ADO对象在程序运行过程中创建数据库和表,就好象他利用Access来建立数据库和表一样。为此,我们应该引用对象库和我们不妨用一个实例来说明具体的操作过程和方法。我们的实例要达到目的是:在程序运行过程中建立一个数据库,数据库的名称由用户输入。然后在数据库中建立一个名为MyTable的数据表,数据表中有三个字段,它们分别是:编号(整数型)、 姓
8、名(字符型,宽度为8)、住址 (字符型,宽度为50),接着在数据表中添加一条记录,最后在DataGrid控件中把记录的内容显示出来,并且让用户在DataGrid控件中任意修改、添加记录。首先在VB中新建一个窗体,然后在工程菜单中引用对象库。接着定义三个窗体级的对象变量和一个窗体级的字符串变量,它们的具体定义是:Dim cat As New ADOX.Catalog 不用cat用另外一个名字也可以Dim pstr As String 定义该变量是为了后面的书写方便为了更灵活地创建数据库,我们可以在窗体中加入一个通用对话框、一个DataGrid控件,三个命令按钮,它们的标题分别是:创建数据库和表、
9、查看、更新。通用对话框的作用是给用户输入数据库文件名和决定数据库的存放位置。创建数据库和表命令按钮对应的代码是:Dim fm As String fm变量用来获取用户输入的文件名CommonDialog1.Filter = MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|CommonDialog1.FilterIndex = 1CommonDialog1.InitDir = D:JthpaperCommonDialog1.Flags = 6CommonDialog1.Action = 2If CommonDialog1.FileName = 你必须输入一个文件名,请重
10、新保存一次!Exit Subfm = CommonDialog1.FileNameProvider=Microsoft.Jet.OLEDB.4.0; 不能把这里的4.0改为3.51 fmcat.Create pstr 创建数据库Dim tbl As New Tablecat.ActiveConnection = pstr tbl.Name = 表的名称 tbl.Columns.Append , adInteger 表的第一个字段, adVarWChar, 8 表的第二个字段, adVarWChar, 50 表的第三个字段cat.Tables.Append tbl 建立数据表rs.AddNew 往表中添加新记录rs.Fields(0).Value = 9801rs.Fields(1).Value = 孙悟空rs.Fields(2).Value = 广州市花果山rs.Update上面程序中有一个需要说明的地方,这就是语句:pstr = ,这个语句表示Microsoft Jet OLEDB驱动程序的版本是4.0,这是目前最新的版本,利用它你可以用VB中的ADO对象
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1