Jump to content

astan

Members
  • Posts

    6
  • Joined

  • Last visited

Everything posted by astan

  1. http://mindview.net/Books/TICPP/ThinkingInCPP2e.html http://eternallyconfuzzled.com/jsw_home.aspx http://www.nongnu.org/lkdp
  2. In jur de 10-12 ore. Ce fac ? Programez.
  3. Si e mai mult folosit cu un motiv ... Care o fi el oare ?
  4. cititi manualul de mysql, tutorialul lui drogoreanu e prea "basic" ... http://dev.mysql.com/doc/
  5. Pentru desktop, Windows. Pentru servere, Free BSD e ok.
  6. Postat initial pe http://www.skullbox.info/board/accesarea-u...in-c-t4493.html Notiuni introductive privind accesarea unei baze de date MYSQL din C Acest tutorial presupune ca folositi sistemul de operare Linux (desi exemplele ar trebui sa se compileze si pe Windows). Mai presupun si ca server-ul MYSQL este instalat si, de asemenea, ca libraria client (utilizata pentru a scrie programe client care sa acceseze serverul) este instalata Tutorialul se adreseaza incepatorilor. A. Pornirea si oprirea server-ului MYSQL Inainte de a accesa o baza de date MYSQL trebuie, evident, sa pornim serverul mysql. Deschideti o console si executati: %> sudo /etc/init.d/mysql start Password: xxxxx * Starting MySQL database server mysqld [ OK ] * Checking for corrupt, not cleanly closed and upgrade needing tables. Inlocuiti "xxxxx" cu parola de root Oprirea server-ului MYSQL: sudo /etc/init.d/mysql stop * Stopping MySQL database server mysqld [ OK ] Verificarea daca server-ul MYSQL este pornit: %> sudo mysqladmin -p ping Password: Enter password: mysqld is alive B. Api-ul client pentru MYSQL (in limbajul C) Functii importante: const char *mysql_get_client_info(void) Returneaza un string care reprezinta versiunea librariei client MYSQL *mysql_init(MYSQL *mysql) Initializeaza un obiect MYSQL ce va fi folosit ulterior pentru conexiunea la server. Daca parametrul "mysql" este NULL, atunci se aloca un nou obiect MYSQL inainte de initializare si se intoarce un pointer la el Daca parametrul "mysql" nu este NULL, atunci obiectul pasat se reinitializeaza si se intoarce un pointer la acelasi obiect MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag) Aceasta este functia utilizata in programul client pentru conectarea la serverul MYSQL mysql - pointer la un obiect MYSQL, obtinut in urma unui apel al functiei mysql_init() host - un sir care contine adresa server-ului (hostname sau IP). Daca host contine sirul "localhost" sau este NULL, se presupune ca programul client si server-ul se afla pe aceeasi masina user - un sir de caractere care contine username-ul folosit pentru conectarea la server. Daca este NULL sau contine "", se presupune ca user-ul este cel curent passwd - parola folosita de "user" pentru conectarea la server db - numele bazei de date care va fi folosita in mod implicit port - daca nu este 0, specifica portul pe care clientul va incerca sa il foloseasca pentru a se conecta la server unix_socket - daca nu este NULL, specifica socket-ul (unix domain) sau pipe-ul folosit pentru comunicarea intre server si client client_flag - folosit pentru a seta diverse flag-uri, de exemplu daca pachetele transferate intre client si server vor fi comprimate (folosind Zlib), sau daca se foloseste SSL Functia intoarce un pointer catre un obiect MYSQL care va fi folosit ca un "handle" pentru comunicatia viitoare intre client si server. Daca functia esueaza se intoarce NULL int mysql_query(MYSQL *mysql, const char *stmt_str) Functia este folosita de catre client pentru interogarea bazei de date mysql - un obiect MYSQL valid obtinut in urma unui apel mysql_real_connect care a reusit stmt_str - un string care reprezinta interogarea SQL ce va fi transmisa server-ului pentru a fi executata pe o baza de date. Se pot specifica mai multe "statement-uri" SQL separate prin caracterul ';' Daca interogarea a reusit se intoarce 0, altfel se intoarce o valoare diferita de 0 MYSQL_RES *mysql_store_result(MYSQL *mysql) Dupa apelul mysql_query() sau mysql_real_query() trebuie apelata functia mysql_store_result(). Aceasta intoarce un pointer la un obiect MYSQL_RES, care va fi folosit pentru extragerea rezultatului interogarii Se intoarce NULL daca functia esueaza unsigned int mysql_num_fields(MYSQL_RES *result) Returneaza numarul de coloane returnat in urma unui apel mysql_store_result() result - este un pointer catre un obiect MYSQL_RES, intors de exemplu de catre functia mysql_store_result() MYSQL_ROW mysql_fetch_row(MYSQL_RES *result) Extrage urmatoarea linie din set-ul resultat in urma executiei unei interogari SQL result - un pointer la un obiect MYSQL_RES obtinut de exemplu in urma executiei unui apel mysql_store_result() Functie intoarce o structura de tip MYSQL_ROW folosita pentru a accesa urmatoare linie a setului. Se intoarce NULL daca am ajuns la sfarsitul setului MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result) Functia este utilizata pentru a obtine informatii despre o coloana apartinant unui set rezultat in urma executiei unei interogari SQL result - un pointer la un obiect MYSQL_RES obtinut de exemplu in urma executiei unui apel mysql_store_result() Functie intoarce o structura de tip MYSQL_FIELD folosita pentru a accesa informatii despre o coloana din set. Functia intoarce NULL cand s-au parcurs deja toate coloanele setului void mysql_free_result(MYSQL_RES *result) Dezaloca resursele asociate unui obiect MYSQL_RES result - un pointer la un obiect MYSQL_RES obtinut de exemplu in urma executiei unui apel mysql_store_result() void mysql_close(MYSQL *mysql) Inchide conexiunea catre server mysql - un obiect de tip MYSQL folosit pentru comunicatia intre client si server (obtinut, de exemplu, in urma unui apel mysql_real_connect()) Bun, aceste sunt functiile principale ale API-ului. Sa vedem cum sunt folosite in programe practice. C) Exemple de programe client Asigurati-va ca sever-ul MYSQL este pornit inainte sa executati programele demonstrative ce vor urma Programele client trebuie sa include urmatoarele header-e: "my_global.h" si "mysql.h" C.1) Aflarea versiunii clientului /* versiune_client.c */ #include <stdio.h> #include <stdlib.h> #include <my_global.h> #include <mysql.h> int main() { ?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.