WEB开发网
开发学院数据库Access 在VB中兼容非ACCESS数据库的技巧 阅读

在VB中兼容非ACCESS数据库的技巧

 2008-10-07 00:00:00 来源:WEB开发网   
核心提示: 在VB中从一种数据库类型转化为另一种数据库类型几乎不需要或只需要很少的代码修改,而且,在VB中兼容非ACCESS数据库的技巧(4),尽管dBASE、Paradox本身的DDL(Data Definition Language,即数据定义语言)和DML(Data Manipulation Lang

在VB中从一种数据库类型转化为另一种数据库类型几乎不需要或只需要很少的代码修改。而且,尽管dBASE、Paradox本身的DDL(Data Definition Language,即数据定义语言)和DML(Data Manipulation Language,即数据操纵语言)是非结构化查询的,但它们仍然可以使用VB的SQL语句和JET引擎来操纵。

因而对FoxPro等非ACCESS数据库而言,调用数据库存取对象的方法同样也是一种最佳的选择。

(一)非ACCESS数据库的新建及库结构的修改

VB专业版中的数据库存取对象变量可以分为两类,一类用于数据库结构的维护和管理,另一类用于数据的存取。其中表示数据库结构时可以使用下面的对象:DataBase、TableDef、Field、Index,以及三个集合(Collection):TableDefs、Fields和Indexes。每一个集合都是由若干个对象组成的,这些数据对象的集合可以完全看作是一个数组,并按数组的方法来调用。

一旦数据库对象建立后,就可以用它对数据库的结构进行修改和数据处理。

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

下面是新建一个FoxPro 2.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
T1.Fields.Append F3
Ix1.Name = "Name" ,Ix1.Fields = "Name", Ix1.Primary = True ’新建索引
T1.Indexes.Append Ix1 ’向数据库的Indexes集合中添加新的索引
Td.Append T1 ’向TableDefs集合中添加新表
Db1.Close ’必须先关闭数据库对象再退出
End Sub

在此段程序中值得注意的是,对非Access数据库的新建不用CreateDatabase函数,而是用OpenDatabase函数,这点与Access数据库大不一样,但也仅仅是针对非ACCESS数据库而言才能用OpenDatabase函数来新建一个数据库对象。

上一页  1 2 3 4 5 6  下一页

Tags:VB 兼容 ACCESS

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接