[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