fb:porticula NoPaste
Problem mit MySQL Beispiel
Uploader: | darksider3 |
Datum/Zeit: | 09.10.2011 12:50:09 |
#INCLUDE ONCE "mysql\mysql.bi"
#DEFINE NULL 0
SUB connect1
DIM db AS MYSQL PTR
'Initialisiere die API. db zeigt auf das MySQL-System.
db = mysql_init( NULL )
DIM dbname AS STRING
dbname = "test"
'Verbinde dich mit dem MySQL-System.
'2. Argument: Adresse des Servers. NULL = Localhost.
IF( mysql_real_connect( db, NULL, "root", "12leon12", dbname, MYSQL_PORT, NULL, 0 ) = 0 ) THEN
PRINT "Can't connect to the mysql server on port"; MYSQL_PORT
mysql_close( db )
END 1
END IF
'Waehle die Datenbank aus.
IF( mysql_select_db( db, dbname ) ) THEN
PRINT "Can't select the "; dbname; "Color = teal>"" database !"
mysql_close( db )
END 1
END IF
'Gib ein Informationen zum RDBMS-Host und zur Datenbank aus.
PRINT "Client info: "; *mysql_get_client_info( )
PRINT "Host info: "; *mysql_get_host_info( db )
PRINT "Server info: "; *mysql_get_server_info( db )
'Schicke ein SQL los.
DIM res AS INTEGER
res = mysql_query( db, "select * from jettype;" )
'Deklariere einen Zeiger auf die Ergebnistabelle
DIM restab AS mysql_res PTR
IF res = 0 THEN
'Hole den Zeiger auf die Ergebnistabelle
restab = mysql_store_result( db )
IF restab > 0 THEN
DIM AS INTEGER nrow
'Wie viel Zeilen hat die Ergebnistabelle?
nrow = mysql_num_fields( restab )
PRINT nrow
IF nrow > 0 THEN
DIM AS INTEGER i, j, ncol
DIM AS mysql_row row
'Wie viel Spalten hat die Ergebnistabelle?
ncol = mysql_num_fields( restab )
PRINT ncol
'Lies die Ergebnistabelle aus.
FOR i = 0 TO nrow - 1
'Hole die naechste Zeile der Ergebnistabelle
row = mysql_fetch_row( restab )
PRINT i,
'Gib alle Spalten der aktuellen Zeile auf dem Bildschirm aus.
FOR j = 0 TO ncol - 1
DIM s AS STRING: s = *row[j]
PRINT s; " - ";
NEXT j
PRINT
NEXT i
SLEEP
END IF
END IF
'Mache den Speicherplatz der Ergebnistabelle frei.
mysql_free_result( restab )
ELSE
PRINT "sql query error"
END IF
'Schliesse den API-Zugang.
mysql_close( db )
END 0
END SUB
connect1