请各位高手帮我看看,源代码如下:
Public Sub FileToCol(Col As ADODB.Field, WordFile As String)
Dim strData() As Byte
Dim NumBlocks As Long
Dim FileLength As Long
Dim LeftOver As Long
Dim SourceFile As Long
Dim i As Long
SourceFile = FreeFile
Open WordFile For Binary Access Read As SourceFile
FileLength = LOF(SourceFile)
If FileLength = 0 Then
Close SourceFile
MsgBox WordFile & "Empty or not found."
Else
NumBlocks = FileLength / ChunkSize
LeftOver = FileLength Mod ChunkSize
Col.AppendChunk Null '执行到这句出现的错误。我把这句去掉之后,后面执行正常,但是文件却没有存储到数据库中
ReDim strData(ChunkSize)
For i = 1 To NumBlocks
Get SourceFile, , strData
Col.AppendChunk strData
Next i
ReDim strData(LeftOver)
Get SourceFile, , strData
Col.AppendChunk strData
Close SourceFile
End If
End Sub
Public Sub FileToCol(Col As ADODB.Field, WordFile As String)
Dim strData() As Byte
Dim NumBlocks As Long
Dim FileLength As Long
Dim LeftOver As Long
Dim SourceFile As Long
Dim i As Long
SourceFile = FreeFile
Open WordFile For Binary Access Read As SourceFile
FileLength = LOF(SourceFile)
If FileLength = 0 Then
Close SourceFile
MsgBox WordFile & "Empty or not found."
Else
NumBlocks = FileLength / ChunkSize
LeftOver = FileLength Mod ChunkSize
Col.AppendChunk Null '执行到这句出现的错误。我把这句去掉之后,后面执行正常,但是文件却没有存储到数据库中
ReDim strData(ChunkSize)
For i = 1 To NumBlocks
Get SourceFile, , strData
Col.AppendChunk strData
Next i
ReDim strData(LeftOver)
Get SourceFile, , strData
Col.AppendChunk strData
Close SourceFile
End If
End Sub
解决方案 »
- VB奇怪问题!点“结束”,整个VB就全部被关掉了~~为什么?
- 请问如何在VB里面利用ADO的RECORDSET对象的ADDNEW插入某字段为NULL值呢?
- 谁有 人事档案管理系统 源代码 (急需!!)??
- VB中如何操作XMl文档
- 有谁可以提供Microsoft powerpoint viewer 97的编程资料?
- 请赐教!!!谁有在简体环境下用英文VB写的程序用于繁体版的WINDOWS的经验
- ado参数查询的问题
- vb6 我要连接两个字符串 uid=sa和;pwd=111 第二个有分号没法连,请高手帮解决一下
- 问题:如何放大图片,且尽量不失真
- 关于API 函数mciSendString在WIN98和WIN95中播放MP3时的区别?
- [请教DX]在VB中怎样处理WM_MOVE这个"窗口移动"消息?
- 最近提出的问题都没有答案,感觉很失落!
当 Visual Basic 6.0 客户端对组件对象模型 (COM) 对象调用一个方法时,Visual Basic 运行库可能报告以下错误信息:
Run-time error '-2147467259 (80004005)':Method '~' of object '~' failed
即,该方法调用返回 E_FAIL,但对象或者未实现 ISupportErrorInfo 接口,或者未通过调用 CreateErrorInfo 函数提供错误对象。
更多信息
如果您使用正确的错误处理代码,则可以确定包含返回该错误的对象的服务器名。这些信息存储在 Err 对象的 Source 属性中。例如,以下代码在发生错误时创建一个事件日志条目: Private Sub TestSub()
On Error GoTo errHandler
Dim o As TestServer.Class1
Set o = New TestServer.Class1
o.SomeMethod
Exit Sub
errHandler:
App.LogEvent "Error in TestSub:" & Err.Number & "; Source:" & Err.Source & "; Description:" & Err.Description
End Sub
如果在调用 o.SomeMethod 时发生上述错误,则您可以标识函数名 (TestSub)、错误号 [-2147467259 (80004005)]、错误源 (TestServer) 和说明 (Method '~' of object '~' failed)。您可以使用这些信息缩小导致该问题的原因的范围。如果您在 Visual Basic 集成开发环境 (IDE) 中进行调试,并且如果该 COM 对象正在运行中,则可以获得包含对象名和方法名的更具体的错误说明。若要确定导致问题的根本原因,应调试返回 E_FAIL 的对象的方法。
to GGL123() :我是先插入记录,然后调用这个过程,把blob类型数据添加进去的,也就是说调用这个过程之前记录已经存在了,添加完之后,blob类型的字段长度还是0字节。