0
'code to load picture into database table
Private Function GetPic()
  Dim filelen As Long
  Dim numlock As Integer
  Dim leftover As Long
  Const blocksize = 100000
  Dim pic As String
  Dim bytedata() As Byte
  Dim sfile As Integer

  sql = "select PICS from student_record_database " //empty field with no pictures
  RES.Open sql, CON, adOpenDynamic, adLockOptimistic
  sfile = App.Path & "/mypic/Book1.xls" //error : type mismatch

  Open sfile For Binary Access Read As #1
  filelen = LOF(sfile)
  If filelen = 0 Then
    Close sfile
    MsgBox ("empty or not found")
  Else

    numlock = filelen / blocksize
    leftover = filelen Mod blocksize
    ReDim bytedata(leftover)
    Get sfile, , bytedata()
    RES(1).AppendChunk bytedata()
    ReDim bytedata(blocksize)

    For i = 1 To numlock
      Get sfile, , bytedata()
      RES(1).AppendChunk bytedata()
    Next i

    RES.Update
    Close sfile
  End If
End Function

'code to display picture in picture box from table
Private Function ShowPic()
  Dim bytedata() As Byte
  Dim file As String
  Dim filelen As Long
  Dim numlock As Integer
  Dim leftover As Long
  Const blocksize = 100000

  file = App.Path & "\image1.jpeg"
  Open file For Binary As #1
  numlock = filelen / blocksize
  leftover = filelen Mod blocksize
  bytedata() = RES(1).GetChunk(leftover)
  Put file, , bytedata()

  For i = 1 To numlock
    bytedata() = RES(1).GetChunk(blocksize)
    Put file, , bytedata()
  Next i
  Close file
End Function

这是我在 oracle 表数据库中使用 vb 插入图片的完整代码。接下来我根据他们的记录在vb应用程序的图片框中显示这些图片,但它显示“类型不匹配”的错误并且图片没有显示在图片框中。

4

1 回答 1

0

您将 sFile 声明为整数,但尝试在其中加载字符串

Dim sFile as string
sfile = App.Path & "/mypic/Book1.xls"
于 2013-01-24T10:00:50.723 回答