如题:我想把图片存储到Oracle数据库里面去,可是总是提示数据类型不对,我采用的方式是:
将一个JPG文件读到一个二进制文件内(内存),然后将该文件存储到Oracle数据库(采用BLOB类型),结果提示数据类型不正确或者“对象变量未设置或者With块未设置”,这是为什么????请指点,顺祝春节快乐!!!

解决方案 »

  1.   

    Oracle的图片设定为BPOB类型,以下代码不能填入数据,含其他字段,如果屏蔽Lppic和Lpheadpic则可以以填入其他字段(字符串):Private Sub Command1_Click()
        On Error GoTo ErrCode
        
        Dim strPid As String
        Dim strPkind As String
        Dim strPname As String
        Dim strPsex As String
        Dim strPab As String
        Dim strPbirthday As String
        Dim strPadd As String
        Dim strPcardnumber As String
        Dim i, j, k As Long
        Dim file_len As Long
        Dim s() As Byte
        Dim s1
        Dim s2
        Dim LPpic() As Byte
        Dim lPheadpic() As Byte
        Dim strPregDate As String
        Dim strUser As String
        Dim strPWD As String
        Dim Constr As String
        Dim oraRSstr As String
        Dim Exestr As String
        Dim strSerch As String
        Dim AccessRS As Recordset
        Dim OraRS As Recordset
        strUser = "system"
        strPWD = "manager"
        DBName = "testDB"
        
        Call OpenDB
        Set AccessRS = New Recordset
        AccessRS.Open "select * from Pdata", DB, adOpenStatic, adLockOptimistic
        AccessRS.MoveFirst
        If AccessRS.RecordCount > 0 Then
            
            strPid = Format(Now, "hhmmss")            '"'" & AccessRS.Fields("id") & "'"
            strPkind = "'" & AccessRS.Fields("Pkind").Value & "'"
            strPname = "'" & AccessRS.Fields("pname").Value & "'"
            strPsex = "'" & AccessRS.Fields("psex").Value & "'"
            strPab = "'" & AccessRS.Fields("Pab").Value & "'"
            strPbirthday = "'" & AccessRS.Fields("pbirthday").Value & "'"
            strPadd = "'" & AccessRS.Fields("padd").Value & "'"
            strPcardnumber = "'" & AccessRS.Fields("Pcardnumber").Value & "'"
            strPregDate = "'" & AccessRS.Fields("PregDate").Value & "'"
            
            s1 = AccessRS.Fields("ppic")
            s2 = AccessRS.Fields("pheadpic")
            
            For k = 1 To AccessRS.RecordCount
            
            strPid = "'" & Format(Now, "hhmmss") & k & "'"          '测试用例,完成后删除
            
            Set DBO = New ADODB.Connection
            Dim RSS As New ADODB.Stream
            'Constr = "Provider=MSDAORA.1;Password=" & strPWD & ";User ID=" & strUser & ";Data Source=" & DBName & ";Persist Security Info=False"
            Constr = "Provider=OraOLEDB.Oracle.1;Password=" & strPWD & ";User ID=" & strUser & ";Data Source=" & DBName & ";Persist Security Info=False"
            DBO.CursorLocation = adUseClient
            DBO.Open Constr
            Exestr = "insert into testTable(pid,pname,psex,pab,pbirthday,padd,pkind,ppic,pheadpic,pcardnumber,pregdate)  values (" & _
                                         strPid & "," & _
                                         strPname & "," & _
                                         strPsex & "," & _
                                         strPab & "," & _
                                         strPbirthday & "," & _
                                         strPadd & "," & _
                                         strPkind & "," & _
                                         s1 & "," & _
                                         s2 & "," & _
                                         strPcardnumber & "," & _
                                         strPregDate & ")"
            DBO.Execute Exestr
            
            If Dir(App.Path & "\tempfiles\*.*") <> "" Then
                Kill (App.Path & "\tempfiles\*.*")
            End If
            
            DBO.Execute "Commit"
            AccessRS.MoveNext
            Next
        End If
        AccessRS.MoveFirst
        Call CloseDB
        If DBO.State = adStateOpen Then
            DBO.Close
            Set DBO = Nothing
        End If
        Exit Sub
    ErrCode:
        MsgBox Err.Description
        
    End Sub
      

  2.   

    问个其他问题:
    Windows的Internet Explorer和Explorer究竟有什么关系?
    我在程序中使用时,怎么他们都是Internet Explorer?请问都有些什么属性?