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 に答える