Seite 1 von 1

mysql (Flype) DB Bilder lesen / schreiben

Verfasst: 08.06.2011 10:29
von smateja
Hallo zusammen,

ich versuche derzeit Bilder in eine MySql DB abzulegen und zu lesen. Hierbei bediene ich mich an den includes von Flype aus dem eng. Forum um auf ODBC etc. verzichten zu können.
Mit ist bewusst, dass die Bilder als Blob in der DB liegen müssen. Jedoch gelingt es mir nicht, eine kleinen Code zu basteln um hier 1. Bilder in die DB zu schieben / 2. dort wieder auszulesen.

Mein Problem ist hier, mir fehlt hier irgendwie der Befehl GetDatabaseBlob :)

Übersehe ich hier etwas? - Kann mir evtl. jemand sagen wie ich hier vorzugehen habe.

LG an ein herzliches Dankeschön alle Mitdenker.

Re: mysql (Flype) DB Bilder lesen / schreiben

Verfasst: 08.06.2011 10:42
von Bisonte
eventuell hilft dir dieser Beitrag : http://purebasic.fr/german/viewtopic.ph ... 41#p276341

Re: mysql (Flype) DB Bilder lesen / schreiben

Verfasst: 08.06.2011 10:55
von smateja
Hey Bisonte :=) danke erstmal für die Info - das mit dem Base64Codieren ist schon mal garnicht so verkehrt. Die Frage ist jetzt nur - lese ich die Row bzw. die Zelle als String aus ? Mhmm.

Re: mysql (Flype) DB Bilder lesen / schreiben

Verfasst: 08.06.2011 11:10
von Kiffi
smateja hat geschrieben:Die Frage ist jetzt nur - lese ich die Row bzw. die Zelle als String aus ?
ich kenne die Lib nicht im Detail, aber schau mal in Deinen
(Flypes) Sourcen nach db_GetString().

Grüße ... Kiffi

Re: mysql (Flype) DB Bilder lesen / schreiben

Verfasst: 08.06.2011 11:25
von smateja
Hi Kiffi - also den String auslesen ist nicht das Problem - nur wie gehts dann weiter also string auslesen und gleich Base64decodieren oder?

Als Beispiel zur Veranschaulichung wie ich derzeit die Daten hier aus der Tabelle quetsche:

Code: Alles auswählen


Structure Framework_SQL_Users
    Index.s
    Benutzername.s 
    Passwort.s
    Nachname.s
    Vorname.s
    Email.s
    Login_Erstellt.s
    Login_Letztes.s
    Gultig_Ab.s
    Gultig_Bis.s
    Aktiv.s
    Gesperrt.s
    Benutzerrechte.s
    Image.s
  EndStructure
  
  
  Global NewList DB_User_Accounts.Framework_SQL_Users() 
  
  ResetList(DB_User_Accounts()) 
  ClearList(DB_User_Accounts()) 
  
  If SQLConnection = #True
    Framework_SQL_Server_Ping()
    query.s="SELECT * from framework_user"
    
    
    If mysql_query(Framework_SQL_Database_Handle.l,query)
      Framework_SQL_GetError()
    Else
      
      If mysql_field_count(Framework_SQL_Database_Handle.l)
        
        result = mysql_store_result(Framework_SQL_Database_Handle.l)
        
        If result
          
          For i = 0 To mysql_num_rows(result) - 1
            
            Protected *row.MYSQL_ROW 
            
            *row = mysql_fetch_row(result)
            
            AddElement(DB_User_Accounts()) 
            
            DB_User_Accounts()\Index.s            =     *row\field[0] 
            DB_User_Accounts()\Benutzername.s     =     *row\field[1] 
            DB_User_Accounts()\Passwort.s         =     *row\field[2] 
            DB_User_Accounts()\Nachname.s         =     *row\field[3] 
            DB_User_Accounts()\Vorname.s          =     *row\field[4] 
            DB_User_Accounts()\Email.s            =     *row\field[5]
            DB_User_Accounts()\Login_Erstellt.s   =     *row\field[6]
            DB_User_Accounts()\Login_Letztes.s    =     *row\field[7]
            DB_User_Accounts()\Gultig_Ab.s        =     *row\field[8]
            DB_User_Accounts()\Gultig_Bis.s       =     *row\field[9]
            DB_User_Accounts()\Aktiv.s            =     *row\field[10]
            DB_User_Accounts()\Gesperrt.s         =     *row\field[11]
            DB_User_Accounts()\Benutzerrechte.s   =     *row\field[12]
            DB_User_Accounts()\Image.s            =     *row\field[13]
               
          Next
          
         EndIf
      EndIf
      
      mysql_free_result(result)
    EndIf
    
  EndIf

Das Bild liegt in Feld 13.

Re: mysql (Flype) DB Bilder lesen / schreiben

Verfasst: 08.06.2011 11:47
von Kiffi
smateja hat geschrieben:nur wie gehts dann weiter also string auslesen und gleich Base64decodieren oder?
joh, würde ich sagen. Danach kannst Du beispielsweise auf den Buffer,
der das dekodierte Bild enthält, ein CatchImage() ausführen.

Kommt halt ganz darauf an, was Du mit dem Bild nach dem Auslesen machen willst

Grüße ... Kiffi