定义 Recordset

目录

用户可以创建 ADODB.Recordset 对象并指定列信息,然后可以将数据插入到 Recordset 对象中。基本行集合 将插入的数据缓存。

下面的代码范例显示如何使用  RDSServer.DataFactory 对象定义 Recordset。也可以用 RDS.DataControl 对象进行同样的定义。

Sub RsDefineShape()
   
   Dim vntRecordShape(3)
   Dim vntField1Shape(3)
   Dim vntField2Shape(3)
   Dim vntField3Shape(3)
   Dim vntField4Shape(3)   '  给每个字段指定名称、类型、大小和空属性。
   vntField1Shape(0) = "Name"   ' Column name.
   vntField1Shape(1) = CInt(129)   ' Column type.
   vntField1Shape(2) = CInt(40)   ' Column size.
   vntField1Shape(3) = False      ' Nullable?   vntField2Shape(0) = "Age"
   vntField2Shape (1) = CInt(3)
   vntField2Shape (2) = CInt(-1)
   vntField2Shape (3) = True   vntField3Shape (0) = "DateOfBirth"
   vntField3Shape (1) = CInt(7)
   vntField3Shape (2) = CInt(-1)
   vntField3Shape (3) = True   vntField4Shape (0) = "Balance"
   vntField4Shape (1) = CInt(6)
   vntField4Shape (2) = CInt(-1)
   vntField4Shape (3) = True   ' 将所有字段放入一个数组中。
   vntRecordShape(0) = vntField1Shape
   vntRecordShape(1) = vntField2Shape
   vntRecordShape(2) = vntField3Shape
   vntRecordShape(3) = vntField4Shape   ' 使用 RDSServer.DataFactory 创建空记录集,
   ' 该记录集是一个变体型数组,其中
   ' 每个元素本身又是另一个变体型数组
   ' 一个变体型数组是记录集中的一列。
   ' 内部数组的元素是列的名称、类型、大小和空属性。   Dim NewRs    ' 可以使用 RDS.DataControl 对象
   ' 代替 RDSServer.DataFactory 对象。
   ' 在这种情况下,如下代码将被设置为 Set NewRS。
   ' = ADC1.CreateRecordset(vntRecordShape)
   Set NewRS = ADF.CreateRecordset(vntRecordShape)   Dim fields(3)
   fields(0) = vntField1Shape(0)
   fields(1) = vntField2Shape (0)
   fields(2) = vntField3Shape (0)
   fields(3) = vntField4Shape (0)   ' 给新记录集填充新数据值。
   Dim fieldVals(3)   ' 使用 AddNew 添加记录。
   fieldVals(0) = "Joe"
   fieldVals(1) = 5
   fieldVals(2) = CDate(#1/5/96#)
   fieldVals(3) = 123.456
   NewRS.AddNew fields, fieldVals   fieldVals(0) = "Mary"
   fieldVals(1) = 6
   fieldVals(2) = CDate(#6/5/96#)
   fieldVals(3) = 31
   NewRS.AddNew fields, fieldVals   fieldVals(0) = "Alex"
   fieldVals(1) = 13
   fieldVals(2) = CDate(#1/6/96#)
   fieldVals(3) = 34.0001
   NewRS.AddNew fields, fieldVals   fieldVals(0) = "Susan"
   fieldVals(1) = 13
   fieldVals(2) = CDate(#8/6/96#)
   fieldVals(3) = 0.0
   NewRS.AddNew fields, fieldVals
   
   NewRS.MoveFirst   ' 将新创建和填充的记录集设置为
   ' RDS.DataControl 的 SourceRecordset 属性
   ' 来绑定可视控件。
   Set ADC1.SourceRecordset = NewRSEnd Sub
www.holmesian.org