代码如下(表1有一个 IMAGE类型的字段"photo"):
'-----------------------------------------------------------------------------
Private Sub Command1_Click()
    Dim CN As New ADODB.Connection
    Dim RS As New ADODB.Recordset
    Dim MsStream As New ADODB.Stream
    CN.Open "Provider=SQLOLEDB.1链接语句"
    RS.Open "SELECT * FROM 表1", CN, adOpenKeyset, adLockOptimistic
        MsStream.Type = adTypeBinary
        MsStream.Open
        MsStream.LoadFromFile "d:\temp.bmp"
    RS.AddNew
        RS.Fields("photo").Value = MsStream.Read     '执行到这一句时出错▲▲▲
    RS.Update    
    RS.Close
    CN.Close
End Sub
'---------------------------------------
出错时弹出一个框
“实时错误 '-2147217887 (800400e21)' 发生错误”

解决方案 »

  1.   

    我调试过了,在VB窗体中添加一个DATAGRID控件,将RECORDSET绑定到该DATAGRID,再导入就不会出现这种问题。不知道是为什么???
      

  2.   

    拿分来...Private Sub Command1_Click()    Dim CN As ADODB.Connection
        Dim RS As ADODB.Recordset
        Dim MsStream As ADODB.Stream
        
        Set CN =New ADODB.Connection
        Set RS =New ADODB.Recordset
        Set MsStream =New ADODB.Stream    CN.Connectstring=数据库连接字符串
        Cn.Open
        
        Dim TxtSQL as String     TxtSQL SELECT * FROM 表1
            RS.Open "SELECT * FROM 表1", CN, adOpenKeyset, adLockOptimistic
            MsStream.Type = adTypeBinary
            MsStream.Open
            MsStream.LoadFromFile "d:\temp.bmp"
        RS.AddNew
            RS.Fields("photo").Value = MsStream.Read     '执行到这一句时出错▲▲▲
        RS.Update    
        RS.Close
        CN.Close
    End Sub
      

  3.   

    Private Sub Command1_Click()    Dim CN As ADODB.Connection
        Dim RS As ADODB.Recordset
        Dim MsStream As ADODB.Stream
        
        Set CN = New ADODB.Connection
        Set RS = New ADODB.Recordset
        Set MsStream = New ADODB.Stream    CN.Connectstring = 数据库连接字符串
        CN.Open
        
        Dim TxtSQL As String    TxtSQL = "SELECT * FROM 表1"
        
        With RS
            
            .ActiveConnection = CN
            .LockType = adLockOptimistic
            .CursorType = adOpenKeyset
            
        End With
        
        RS.Open TxtSQL
        
        MsStream.Type = adTypeBinary
        MsStream.Mode = adModeReadWrite
        
        MsStream.Open
        
        MsStream.LoadFromFile "d:\temp.bmp"
        
        RS.AddNew
        
            RS.Fields("photo") = MsStream.Read
            
        RS.Update
        
        RS.Close: Set RS = Nothing
        
        MsStream.Close: Set MsStream = Nothing
        
        CN.Close: Set CN = Nothing
        
    End Sub'如果再不行,就找Bell去