科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件非access数据库在vb中的编程及应用(3)

非access数据库在vb中的编程及应用(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在vb专业版数据库编程的三种方法中,第二种—使用数据库存取对象变量(dao)的方法最具有功能强大、灵活的特点。

来源:soft6 2008年5月14日

关键字: 数据库 Access VB vb.net Windows

  • 评论
  • 分享微博
  • 分享邮件

三 、数据存取对象变量对外来数据库编程的方法及其实例

  在vb专业版数据库编程的三种方法中,第二种—使用数据库存取对象变量(dao)的方法最具有功能强大、灵活的特点。它能够在程序中存取odbc2.0的管理函数;可以控制多种记录集类型:dynaset,snapshot及table记录集合对象;可以存储过程和查询动作;可以存取数据库集合对象,例如tabledefs,fields,indexes及querydefs;具有真正的事物处理能力。因而,这种方法对数据库处理的大多数情况都非常适用。由于vb中的记录集对象与所使用的数据库格式及类型是相互独立的,所以在非access数据库中也可以使用数据库存取对象变量的方法。因而对foxpro等外来数据库而言,使用数据库存取对象变量的方法同样也是一种最佳的选择。

  有一点需要注意的是,vb的标准版中仅能使用数据控件(data control)对数据库中的记录进行访问,主要的数据库存取对象中也仅有database、dynaset对象可通过数据控件的属性提供,其它的重要对象如tabledef、field、index、querydef、snapshot、table等均不能在vb的标准版中生成,所以使用数据存取对象变量的方法只能用vb3.0以上的专业版。

非access数据库的新建及库结构的修改

  vb专业版中的数据库存取对象变量可以分为两类,一类用于数据库结构的维护和管理,另一类用于数据的存取。其中表示数据库结构时可以使用下面的对象:database、tabledef、field、index,以及三个集合(collection):tabledefs、fields和indexes。每一个集合都是由若干个对象组成的,这些数据对象的集合可以完全看作是一个数组,并按数组的方法来调用。一旦数据库对象建立后,就可以用它对数据库的结构进行修改和数据处理。

  对于非access数据库,大部分都是对应于一个目录,所以可以使用vb的mkdir语句先生成一个目录,亦即新建一个数据库。而每一个非access数据库文件可看作是此目录下的一个数据表(table),但实际上它们是互相独立的。

  下面是新建一个foxpro2.5格式数据库的程序实例。

sub createnew ( )

dim db1 as database , td as tabledefs dim t1 as new tabledef , f1 as new field , f2 as new field , f3 as new field

dim ix1 as new index

dim path as string

const db_text = 10 , db_integer = 3

chdir "\" path$ = inputbox( " 请 输 入 新 路 径 名 : ", " 输 入 对 话 框 " ) mkdir path$

’ 新 建 一 个 子 目 录

set db1 = opendatabase(path$, true, false, "foxpro 2.5;")

set td = db1.tabledefs t1.name = "mydb"

’ 新 建 一 个 数 据 表 , 数 据 表 名 为 mydb

f1.name = "name" , f1.type = db_text , f1.size = 20 f2.name = "class" , f2.type = db_text , f2.size = 20 f3.name = "grade" , f3.type = db_integer t1.fields.append f1

’ 向 数 据 表 中 添 加 这 些 字 段 t1.fields.append f2

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章