转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
VB中数据集合对象的应用         ★★★★

VB中数据集合对象的应用

作者:闵涛 文章来源:闵涛的学习笔记 点击数:750 更新时间:2009/4/23 15:02:43
  摘 要:集合对象(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")


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台