Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

74 lines
1.5 KiB

Attribute VB_Name = "Recordset"
Option Explicit
Public Sub AppendField( _
ByVal i_fld As ADODB.Field, _
ByVal o_rs As ADODB.Recordset _
)
o_rs.Fields.Append i_fld.Name, i_fld.Type, i_fld.DefinedSize, i_fld.Attributes
End Sub
Public Sub CreateFields( _
ByVal i_rsSource As ADODB.Recordset, _
ByVal o_rsDest As ADODB.Recordset _
)
Dim fld As ADODB.Field
For Each fld In i_rsSource.Fields
o_rsDest.Fields.Append fld.Name, fld.Type, fld.DefinedSize, fld.Attributes
Next
End Sub
Public Sub CopyFields( _
ByVal i_rsSource As ADODB.Recordset, _
ByVal o_rsDest As ADODB.Recordset _
)
Dim fld As ADODB.Field
For Each fld In i_rsSource.Fields
o_rsDest.Fields(fld.Name).Value = fld.Value
Next
End Sub
Public Sub CopyRecordSet( _
ByVal i_rsSource As ADODB.Recordset, _
ByVal o_rsDest As ADODB.Recordset _
)
CloseRecordSet o_rsDest
CreateFields i_rsSource, o_rsDest
o_rsDest.Open
If (i_rsSource.EOF) Then
Exit Sub
End If
i_rsSource.MoveFirst
Do While (Not i_rsSource.EOF)
o_rsDest.AddNew
CopyFields i_rsSource, o_rsDest
i_rsSource.MoveNext
Loop
o_rsDest.MoveFirst
End Sub
Public Sub CloseRecordSet( _
ByVal o_rs As ADODB.Recordset _
)
If (o_rs.State = adStateOpen) Then
' This record set has some old data. Lose it.
o_rs.Close
End If
End Sub