1program testdb3; 2 3uses 4 mysql3; 5 6Const 7 DataBase : Pchar = 'testdb'; 8 Query : Pchar = 'Select * from FPdev'; 9 10var 11 count,num : longint; 12 code : integer; 13 sock : PMYSQL; 14 qmysql : TMYSQL; 15 qbuf : string [160]; 16 rowbuf : TMYSQL_ROW; 17 dummy : string; 18 recbuf : PMYSQL_RES; 19 20begin 21 if paramcount=1 then 22 begin 23 Dummy:=Paramstr(1)+#0; 24 DataBase:=@Dummy[1]; 25 end; 26 Write ('Connecting to MySQL...'); 27 sock := mysql_connect(PMysql(@qmysql),'cvs.freepascal.org','michael','geen'); 28 if sock=Nil then 29 begin 30 Writeln (stderr,'Couldn''t connect to MySQL.'); 31 Writeln (stderr,mysql_error(@qmysql)); 32 halt(1); 33 end; 34 Writeln ('Done.'); 35 Writeln ('Connection data:'); 36{$ifdef Unix} 37 writeln ('Mysql_port : ',mysql_port); 38 writeln ('Mysql_unix_port : ',mysql_unix_port); 39{$endif} 40 writeln ('Host info : ',mysql_get_host_info(sock)); 41 writeln ('Server info : ',mysql_stat(sock)); 42 writeln ('Client info : ',mysql_get_client_info); 43 44 Writeln ('Selecting Database ',DataBase,'...'); 45 if mysql_select_db(sock,DataBase) < 0 then 46 begin 47 Writeln (stderr,'Couldn''t select database ',Database); 48 Writeln (stderr,mysql_error(sock)); 49 halt (1); 50 end; 51 52 writeln ('Executing query : ',Query,'...'); 53 if (mysql_query(sock,Query) < 0) then 54 begin 55 Writeln (stderr,'Query failed '); 56 writeln (stderr,mysql_error(sock)); 57 Halt(1); 58 end; 59 60 recbuf := mysql_store_result(sock); 61 if RecBuf=Nil then 62 begin 63 Writeln ('Query returned nil result.'); 64 mysql_close(sock); 65 halt (1); 66 end; 67 Writeln ('Number of records returned : ',mysql_num_rows (recbuf)); 68 Writeln ('Number of fields per record : ',mysql_num_fields(recbuf)); 69 70 rowbuf := mysql_fetch_row(recbuf); 71 while (rowbuf <>nil) do 72 begin 73 Write ('(Id: ', rowbuf[0]); 74 Write (', Name: ', rowbuf[1]); 75 Writeln(', Email : ', rowbuf[2],')'); 76 rowbuf := mysql_fetch_row(recbuf); 77 end; 78 Writeln ('Freeing memory occupied by result set...'); 79 mysql_free_result (recbuf); 80 81 Writeln ('Closing connection with MySQL.'); 82 mysql_close(sock); 83 halt(0); 84end. 85