MySql Ergebnis in Listiconview

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 Ergebnis in Listiconview

Beitrag von smateja »

Hallo zusammen,

habe ein kleines Problem mit folgendem Code:

Code: Alles auswählen

SQL.s = "SELECT * FROM user"
If CallFunction(#libmysql,"mysql_real_query", hDB.l, SQL.s, Len(SQL.s))
;GetError(hDB.l,1)
Else

*mysqlResult=CallFunction(#libmysql,"mysql_store_result",hDB.l)

;no result returned
If *mysqlResult=0
;no fields returned means error
If CallFunction(#libmysql,"mysql_field_count",hDB.l)
;GetError(hDB.l,1)
;fields are returned, so no error but query didn't return data
Else

EndIf
;results are returned
Else


affRows = CallFunction(#libmysql,"mysql_affected_rows",hDB.l)
fieldNum = CallFunction(#libmysql,"mysql_num_fields",*mysqlResult)
rowsNum = CallFunction(#libmysql,"mysql_num_rows",*mysqlResult)

Debug affRows
Debug fieldNum
Debug rowsNum


For i=1 To rowsNum
*mysqlRow=CallFunction(#libmysql,"mysql_fetch_row",*mysqlResult)
*mysqlLen=CallFunction(#libmysql,"mysql_fetch_lengths",*mysqlResult)

row.s = ""

;length of given field
For j=1 To fieldNum
length=PeekL(*mysqlLen+4*(j-1))
fieldptr=PeekL(*mysqlRow+4*(j-1))


If fieldptr>0
content.s=PeekS(fieldptr,length)


Else
;zero pointer returend means empty field
content="NULL"
EndIf

row.s = row.s+content+Chr(10)


Next j

Debug row
AddGadgetItem(#Fenster_Helper_User_Listing,j,row.s)
Next i
result.l=CallFunction(#libmysql,"mysql_free_result",*mysqlResult)
EndIf
EndIf

hier schaffe ich es leider nicht, das Ergebniss in ein Listiconview so darzustellen, sodass in spalte 2 dann die Kennwörter stehen (als Beispiel)

hat jemand eine Idee woran das liegen könnte?!
PB 4.6 / 32 Bit / 64 Bit
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Ich verstehe den Code gerade irgendwie nicht, und da geht es wahrscheinlich nicht nur mir so :roll:

Wo ist denn deine ListIconView ?

Von daher kann ich den Code auch nicht testen, und selber gucken wo das Problem liegt.

Vllt kannst du ja noch mal den Ganzen Code posten, oder so viel wie nötig ist, damit man es testen kann, danke.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
smateja
Beiträge: 250
Registriert: 25.11.2004 19:51
Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS

Gelößt!

Beitrag von smateja »

Habe den Code ein wenig umgestellt - und siehe da - es geht - trotzdem THX an alle.

Code: Alles auswählen


SQL.s = "SELECT * FROM user"

CallFunction(#libmysql,"mysql_real_query", hDB.l, SQL.s, Len(SQL.s))


Global *mysqlResult=(CallFunction(#libmysql,"mysql_store_result",hDB.l))

Global SQL_Query_Spalten.l  = CallFunction(#libmysql,"mysql_num_fields",*mysqlResult)
Global SQL_Query_Zeilen.l = CallFunction(#libmysql,"mysql_num_rows",*mysqlResult)

Debug SQL_Query_Spalten
Debug SQL_Query_Zeilen

For i=1 To SQL_Query_Zeilen.l
            *mysqlRow=CallFunction(#libmysql,"mysql_fetch_row",*mysqlResult)
            *mysqlLen=CallFunction(#libmysql,"mysql_fetch_lengths",*mysqlResult)
                     
SQL_Ausgabe.s = ""
                       
For j=1 To SQL_Query_Spalten.l
    length=PeekL(*mysqlLen+4*(j-1))
    fieldptr=PeekL(*mysqlRow+4*(j-1))

        If fieldptr>0
           content.s=PeekS(fieldptr,length)
          Else         
           content=""
        EndIf
        
    SQL_Ausgabe.s = SQL_Ausgabe.s + content.s + Chr(10)
    
Next j

Debug SQL_Ausgabe.s          
  AddGadgetItem(#Fenster_Helper_User_Listing,-1,SQL_Ausgabe.s)           
Next i

CallFunction(1,"mysql_free_result",*mysqlResult)
PB 4.6 / 32 Bit / 64 Bit
Antworten