hoho我有这方面的经验,是从数据库里的数据写到文件中,你参考一下吧,记得给我分阿 Public Const BLOCKSIZE=4096'块的大小 Public Sub ColumnToFile(Col As ADODB.Field, DiskFile As String) ', rsset As Recordset) '从数据库获得数据并把它们写到硬盘上的一个临时文件中。 '块的大小以4096为单位
Dim NumBlocks As Long '注释见上文 Dim LeftOver As Long ' Dim strData() As Byte
Dim DestFileNum As Long Dim i As Long Dim ColSize As Long
'确保你存取的不是一个空记录集 ColSize = Col.ActualSize '获得列的实际大小 '如果文件长度为零,将删除文件内容 ' If Len(Dir$(DiskFile)) > 0 Then ' Kill DiskFile ' End If DestFileNum = FreeFile Open DiskFile For Binary As DestFileNum NumBlocks = ColSize \ BLOCKSIZE LeftOver = ColSize Mod BLOCKSIZE '把数据写到文件中 For i = 1 To NumBlocks ReDim strData(BLOCKSIZE) strData = Col.GetChunk(BLOCKSIZE) Put DestFileNum, , strData Next i
ReDim strData(LeftOver) strData = Col.GetChunk(LeftOver) Put DestFileNum, , strData Close DestFileNum End Sub
你会学会很多东西的
Public Const BLOCKSIZE=4096'块的大小
Public Sub ColumnToFile(Col As ADODB.Field, DiskFile As String) ', rsset As Recordset)
'从数据库获得数据并把它们写到硬盘上的一个临时文件中。
'块的大小以4096为单位
Dim NumBlocks As Long '注释见上文
Dim LeftOver As Long '
Dim strData() As Byte
Dim DestFileNum As Long
Dim i As Long
Dim ColSize As Long
'确保你存取的不是一个空记录集
ColSize = Col.ActualSize
'获得列的实际大小
'如果文件长度为零,将删除文件内容
' If Len(Dir$(DiskFile)) > 0 Then
' Kill DiskFile
' End If
DestFileNum = FreeFile
Open DiskFile For Binary As DestFileNum
NumBlocks = ColSize \ BLOCKSIZE
LeftOver = ColSize Mod BLOCKSIZE
'把数据写到文件中
For i = 1 To NumBlocks
ReDim strData(BLOCKSIZE)
strData = Col.GetChunk(BLOCKSIZE)
Put DestFileNum, , strData
Next i
ReDim strData(LeftOver)
strData = Col.GetChunk(LeftOver)
Put DestFileNum, , strData
Close DestFileNum
End Sub
小弟是用来与另外一个控制器通信的,因为需要经过modem,所以希望用二进制传输。