[linux] SQL a obycajne Cecko...
Ondrej Jombik
nepto na pobox.sk
Úterý Květen 21 18:59:09 CEST 2002
Maxim, 18:58:24
21. maj 2002 (utorok)
Cau.
> Existuje, prosim Vas, nejak kniznica pre C, pomocou ktorej sa
> da pristupovat k nejakej SQL databaze(MySQL, postresql, ...)?
> (Teda otvorit DB, precitat volaco... apod v c kode)
> Volaco ako SQLLite, len bez vlastnej DB.
Co sa tyka samotnej MySQL, existuje kniznica mysqlclient, voci
ktorej mozes zlinkovat svoj C/C++ program. Jej API je dobre popisane v MySQL
manuale. Priklad jednoducheho programu, ktory vypise MySQL databazy na
localhoste sa nachadza v prilohe (user test, pass test).
Kompilacia u man vyzera takto:
gcc -L/usr/lib/ -lmysqlclient -I/usr/include/mysql/ -Wall test1.c -o test1
Alebo v editore ViM podla druheho riadku zdrojaku.
=Nepto=
____________________________________________________________________________
Ondrej 'Nepto' Jombik, Visit Atlantis talker now! http://atlantis.sk/
------------- další část ---------------
/*
VIMGCC -L/usr/lib/ -lmysqlclient -I/usr/include/mysql/
*/
#include <stdio.h>
#include <mysql.h>
#define MYSQL_HOST "localhost"
#define MYSQL_USER "test"
#define MYSQL_PASS "test"
int main(int argc, char **argv)
{
MYSQL mysql;
MYSQL_RES *result;
MYSQL_ROW row;
if (! mysql_connect(&mysql, MYSQL_HOST, MYSQL_USER, MYSQL_PASS)) {
fprintf(stderr, "Couldn't get a connection with the designated host.\n");
fprintf(stderr, "Detailed report: %s\n", mysql_error(&mysql));
return 1;
}
puts("Database listing:");
if ((result = mysql_list_dbs(&mysql, NULL)) != NULL) {
while ((row = mysql_fetch_row(result)) != NULL) {
puts((char *) row[0]);
}
mysql_free_result(result);
}
mysql_close(&mysql);
return 0;
}
Další informace o konferenci linux