[Gambas-user] Retrieving jpegs from a MySQL database

Lee McPherson leemcpherson at ...626...
Wed Apr 2 06:28:03 CEST 2008


I've been looking at the examples supplied with Gambas and I've tried to 
copy some of the code from the PictureDatabase example.  I know that my 
database is setup correctly and that the field names are correct.  I 
have some jpegs stored as BLOBs and they display correctly using the 
MySQL Query browser. 

However, this code will give me the error "Not an object" and I'm at a 
loss as to what I'm doing wrong.  Below is some of my code.  Basically I 
have two tables so far.  One contains all the ID3v2 info from an MP3 
with album names represented by numbers.  These numbers are referenced 
to the album name and album cover art in jpeg format as a BLOB in a 
second table.  I click on the file I want in my gridview table and it is 
supposed to display the album cover in a PictureBox next to it.  The 
selection works and I can get it to reference the actual album's name, 
but it stops at the tempPicture = $result["Pic"].Data line.

PUBLIC SUB GridView1_Change()
  DIM sQuery AS String
  DIM curRow AS Integer
  DIM tempFile AS String
  DIM tempPicture AS String

  tempFile = Temp() & ".jpg"
  IF gridView1.Row <> -1
    modDb.Connect()
    curRow = gridView1.Row
    DEBUG curRow
    DEBUG gridView1[curRow, 4].Text
    $result = modDb.$Con.Exec("SELECT * FROM Albums WHERE ID = '" & 
gridView1[curRow, 4].Text & "'")
    DEBUG $result["AlbumName"]
    tempPicture = $result["Pic"].Data
    IF tempPicture THEN
      File.Save(tempf, tempPicture)
      PictureBox1.Picture = Picture.Load(tempF)
      PictureBox1.Resize(PictureBox1.Picture.Width, 
PictureBox1.Picture.Height)
    ELSE
       PictureBox1.Picture = NULL
    END IF
    IF Exist(tempFile) THEN KILL tempFile
'      PictureBox1.picture = $result!Pic
  ENDIF

END




More information about the User mailing list