法甲

VB中数据对象的应用_a

2020-01-16 22:36:14来源:励志吧0次阅读

摘 要:对象(Collection)是VB重要的特征,利用它可以对具有共同属性的对象进行操作访问。本文介绍了VB中的内部和自定义的应用,以及它与数组的异同。

关键词:Visual Basic 6.0 对象 应用

Visual Basic提供一种很有用的数据对象(Collection),它是由相关数据所构成的有序集,它可以使编程者对一组对象进行操作。Visual Basic本身含有一些内部,如Forms、Controls和Printers等,它们给出了工程中所有窗体、具体窗体中的所有控件以及Windows环境中的所有打印机的信息。如果要建立自己的,则需要使用Collection类。

1 对象变量的

对于对象变量可以理解为属于某种类型对象的,这个可以有很多对象,也可以只有一个,甚至可以是空集。在VB中可以用Set语句使一个对象变量指向一个具体的控件。

对于对象,其Count属性是一个非常重要的属性,利用这个属性可以对同一类对象的某一共同的属性进行访问和操作。如可以用以下的代码实现将项目中所有窗体上控件的字体的大小都设置成统一的格式,所有载入的窗体中的控件的字体都被指定为宋体,字号为16。

(1) 在项目中定义一标准模块

'定义两个全局变量

Global CtrFont As Control, Aform As Form

'定义一FontAllSame子过程

Sub FontAllSame()

Dim i, j As Integer

For i = 0 To Forms.Count - 1  'Count属性是从0开始的整数

Set Aform = Forms(i)

For j = 0 To Aform.Controls.Count - 1

Set Font1 = Aform.Controls(j)

CtrFont.FontName = "宋体"

CtrFont.FontSize = 16

Next j

Next i

End Sub

(2) 在项目中的所有窗体的Activate事件中加入以下语句:

FontAllSame

2 数据库中的对象

在VB的数据库编程中,所有的数据库均看作是一个结构良好一致的对象所组成。可以使用对象的属性及方法对这些对象进行操作、创建和删除。

在VB数据库管理中数据的对象存在两类:一类是用于数据库结构的维护和管理,有三种:如,表集(TableDefs)、字段集(Fields)和索引集(Indexes);一类是数据存取对象的记录集:Recordset。每个对象都可以看作是一个数组,并按数组的方法来调用。一旦数据库建立以后,就可以用这些来对数据库的结构进行修改和数据处理。

在这些中同样具有属性Count,利用它可对中的元素进行操作,如下面是打开一个数据库,并取得其内各表(Table)的具体特征的应用程序实例。可以得到各表:表名,字段名,字段的个数,字段的类型,表中记录的条数。

Sub TableInfo()

Dim i, j As Integer, Fname As String

Dim db1 As Database, Td1 As TableDefs

Dim fld1 As Fields

Dim FieldNum, RecNum As Integer  Fname$ = "d:\mdb\xx.mdb" 'XX为Access数据库文件

Set db1 = OpenDataBase(Fname$) '打开一数据库文件

Set Td1 = db1.TableDefs

For i = 1 To Td1.Count - 1

Debug.Print Td1(i).Name '输出表名

Set fld1 = Td1(i).Fields

FieldNum = fld1.Count

RecNum = Td1(i).RecordCount

Debug.Print "当前表共有"; FieldNum; "个字段" '输出字段的个数

Debug.Print "当前表有:"; RecNum; "记录" '输出记录的个数

For j = 0 To fld1.Count - 1

Debug.Print "字段名", fld1(j).Name '输出字段名

Debug.Print "类型", fld1(j).Type '输出字段类型

Next j

Next i

End Sub

从以上的程序中可以清楚地看出:数据库、表、字段存在着层次关系。在VB中层次结构的顶部是Jet数据引擎(DBEngine对象),它是惟一不被其它对象所包含的数据访问对象。DBEngine对象拥有一个Workspaces,该含有一个或多个Workspace对象。每个Workspace对象有一个Database,该又有一个或多个Database对象。每个Database对象含有一个TableDfes,该又含有一个或多个TableDef对象,依次类推。的对象都是基于0的索引来访问的。

如:DBEngine.Workspaces(0).Databases(0).TableDefs(0).Fields("CustName")

冠心病日常用药通心络有效吗
最健康的减肥瘦身方法
经期延长要吃什么药
孩子营养不良的表现
分享到: