mysql (Flype) DB Bilder lesen / schreiben

Anfängerfragen zum Programmieren mit PureBasic.
smateja
Beiträge: 250
Registriert: 25.11.2004 19:51
Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS

mysql (Flype) DB Bilder lesen / schreiben

Beitrag 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.
PB 4.6 / 32 Bit / 64 Bit
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: mysql (Flype) DB Bilder lesen / schreiben

Beitrag von Bisonte »

eventuell hilft dir dieser Beitrag : http://purebasic.fr/german/viewtopic.ph ... 41#p276341
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
smateja
Beiträge: 250
Registriert: 25.11.2004 19:51
Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS

Re: mysql (Flype) DB Bilder lesen / schreiben

Beitrag 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.
PB 4.6 / 32 Bit / 64 Bit
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: mysql (Flype) DB Bilder lesen / schreiben

Beitrag 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
a²+b²=mc²
smateja
Beiträge: 250
Registriert: 25.11.2004 19:51
Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS

Re: mysql (Flype) DB Bilder lesen / schreiben

Beitrag 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.
PB 4.6 / 32 Bit / 64 Bit
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: mysql (Flype) DB Bilder lesen / schreiben

Beitrag 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
a²+b²=mc²
Antworten