CPP (aka C ++) + MySQL

MySQL

Pozdrav svima, ovdje vam donosim primjer kako bi veza između C ++ i MySQL bila u GNU / Linuxu, naravno, ovo je samo osnovni primjer. Prije svega za kompajliranje koristit ću G ++ i oni moraju imati instalirane pakete libmysql ++ y libmysql ++ - razv . Pa evo primjera:

#include #include #include pomoću prostora imena std; #define SERVER "HOST" #define USER "USR" #define PASSWORD "PSWD" #define DATABASE "example" int main () {MYSQL * connect; spojiti = mysql_init (NULL); if (! connect) {cout << "MySQL inicijalizacija nije uspjela"; povratak 1; } povezivanje = mysql_real_connect (povezivanje, "HOST", "USER", "PASWD", "BAZA PODATAKA", 0, NULL, 0); if (connect) {cout << "veza je uspjela \ n"; } else {cout << "veza nije uspjela \ n"; } MYSQL_RES * res_set; MYSQL_ROW redak; mysql_query (povezivanje, "odaberi * iz podataka;"); nepotpisano int i = 0; res_set = mysql_store_result (spojiti); nepotpisani int numrows = mysql_num_rows (res_set); cout << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; while ((((row = mysql_fetch_row (res_set))! = NULL)) {// cout << "% s \ n", red [i]! = NULL? row [i]: "NULL"; cout << "\ t | \ t" << red [i] << "\ t | \ t" << red [i + 1] << "\ t | \ t" << red [i + 2] << "\ t | \ t" << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; } mysql_close (povezivanje); return 0; }

Pa, ako ne znate kako kompajlirati u G ++, ovo je primjer:

g ++ -o glavni main.cpp -L / usr / include / mysql -lmysqlclient -I / usr / include / mysql

Zatim ga pokrenete i to bi izgledalo ovako:

------------------------------------ | 1 | Carmen | 46 | ------------------------------------ | 2 | Juan | 56 | --------------------------------------

Napomena: možete ga i kompilirati MAKEFILE METHOD.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   pandev92 dijo

    C ++ ... taj me jezik davno pobijedio ...

    1.    eliotime3000 dijo

      Gladan sam još toga s tim programskim jezikom (jasnoća i mogućnosti koje nudi su nezamjenjive).

      1.    pandev92 dijo

        Ne kažem ne, samo zato što mi je bilo jako teško, python ili mono, činilo se da ih je lakše koristiti.

        1.    giskard dijo

          Držite se Pythona. Čini vas produktivnijim za manje vremena.

        2.    eliotime3000 dijo

          Python je možda mogao ispraviti programske pogreške koje usporavaju programe poput softverskog centra ili Ubiquitija, ali Java, samo da bi ubio vrijeme.

          Zapravo, sa C ++-om mogu bolje razumjeti kodove (iako većina vidi labirint nečitljivih kodova) i mogu imati jasan pojam o tome što će učiniti (iako je Java lakše razumjeti kôd prvi put, Smatram da je to OSNOVNO i, istinu govoreći, radije radim s OpenJDK-om umjesto Java JDK-om iz straha da će Oracle staviti još bugova za pakao)

    2.    Nelson dijo

      ja isto

  2.   ferhmetal dijo

    Hvala vam prijatelj.

  3.   Eduardo dijo

    Osnovni primjer? Tada će to biti klasika:
    razred: 2 + 2 = 4
    zadatak: 2 × 3 = 6
    Ispit: ako Eduardo ima 20 naranči i mora ih rasporediti među četvero djece, kolika je tjelesna masa djece?

    1.    eliotime3000 dijo

      1.- Riješite problem (najvažnije i ono što novaku stvarno treba duže).
      2. - Prevedite rješenje na C ++ (ako je to taj jezik, novi će u većini slučajeva odustati, a više ako koriste GNU Emacs).
      3. - Otklanjanje pogrešaka iz predostrožnosti i kompajliranje (zapravo je obrnuto, ali malo tko to radi).

      PS: Taj je test protusretljiv / pedantan.

  4.   Eduardo dijo

    Ispričavam se zbog komentara u trostrukom primjeru, ali stranica mi je dala internu pogrešku poslužitelja i možda je zbog toga, pri ponovnom pokušaju, ponovno objavljena.
    Pozdrav i hvala na postu !!

    1.    eliotime3000 dijo

      Nema problema. U svakom slučaju, komentiram Chromium svake noći za Windows i nisam imao nikakvih problema te prirode prilikom komentiranja (iako preporučujem da se registrirate kako bi sustav za komentiranje donosio više pogrešaka nego Windows Millenium).

      1.    eliotime3000 dijo

        Htio sam reći: "iako preporučujem da se registrirate kako bi vam sustav komentara donosio manje pogrešaka nego Windows Millenium" [errare humanum est].

        1.    pandev92 dijo

          grab lol

  5.   eliotime3000 dijo

    Taj je kod najljepši C ++ koji sam vidio (preglednik baze podataka u stilu KISS).

    Ako se ovaj kod može kompilirati na sustavu Windows pomoću GNU Emacs-a zajedno s GCC-om na sustavu Windows (s uključenim MySQL / MariaDB), to bi bila prekretnica.

  6.   ubiti štakora dijo

    Bez sumnje, c ++ je najbolje što imamo, odradio sam neograničen broj testova o performansama i mogućnostima koje nam nudi i bez sumnje ga ništa ne nadmašuje, naravno da prepoznajem da nekima može predstavljati glavobolju

    1.    eliotime3000 dijo

      Divim se tom jeziku, ali nedostaje mi prakse (i dovoljno) da bih ga mogao u potpunosti savladati i tako uspio složiti pristojnu vizualnu aplikaciju s Qt-om.

  7.   jamin samuel dijo

    Huy ne

    Više volim Python

    ????

    1.    ubiti štakora dijo

      Pa svaki luđak sa svojim tematskim pozdravima

    2.    giskard dijo

      Izvrstan izbor.

    3.    eliotime3000 dijo

      [sebičnost] Lijenčina [/ sebičnost].

  8.   Julian dijo

    Više volim VB.NET, mnogo je lakši i ima dobru podršku za SQL Server. Osim što je produktivniji od ostalih jezika i jedan je od najtraženijih u potrazi za poslom. Ne želim trošiti vrijeme na C ++

    1.    pandev92 dijo

      Ako to postignemo, najčešće se traži sranje s Java.

      1.    eliotime3000 dijo

        Isti je kao i VB.NET, ali mnogo grafičniji i beskorisno je raditi na GNU / Linuxu.

  9.   ubiti štakora dijo

    Preporučujem samo C ++ bc sondu da stvori jednostavnu prodaju u c ++, python i qt i ogradi iznenađenje:
    Python-> 7.6 mb
    Qt -> 27 mb (XD)
    C ++ -> 2.4 mb

    Pa svatko da izvuče svoje zaključke pozdrav

    1.    giskard dijo

      Python 7.6 MB ??? Nema šanse! Nemoguće. Ako nisu ništa više od skripti. Ili ste imali slike? Podijelite kod. Ovako to svi vidimo i uspoređujemo. Uvjeri nas.

      1.    ubiti štakora dijo

        U pravu ste, mali bug python nije potrošio 7.6 mb, ali ako 6.2 mb, pa recite mi sada ...
        Ovo je kod i mislim da se ne može optimizirati:
        #! / usr / bin / python
        iz gi.repozitorija uvoz Gtk

        win = Gtk.Window ()
        win.connect ("delete-event", Gtk.main_quit)
        win.show_all ()
        Gtk.main ()

        1.    giskard dijo

          Pretpostavljam da mislite na potrošnju RAM-a. Stvar je u tome što u Pythonu i na gotovo bilo kojem jeziku skalirate asimptotsku krivulju dok komplicirate kôd. Samo za testiranje pokrenuo sam igru ​​koju razvijam s PyGameom. Animacija + pozadinski zvuk + zvukovi za događaje i jedva su dosegli 14MB. Kako očito vaš program neće biti jednostavan poput prozora, već složeniji, na kraju ćete vidjeti da vam, kad imate dovoljno koda, velike izmjene u njemu neće donijeti veći porast upotrebe RAM-a.

        2.    giskard dijo

          Da pojednostavim ono što vam pokazujem: ne možete napraviti vremenski profil ako ne pokrenete segment koda nekoliko tisuća puta, zar ne? Pa, na isti način ne možete prepoznati troši li jezik puno ili malo samo gledajući najjednostavniji mogući primjer. Zapravo je trik gledati najsloženije što možete.

          1.    ubiti štakora dijo

            Pa, po mom razumijevanju na programskoj razini ovaj 01010111, asembler pa c, toliko nemoguć da jezikom visoke razine poput pythona nadmašuje ac / c ++ u performansama (u svim pogledima) i što je bolje od vrlo jednostavnog primjer poput onog za stvaranje prozora da biste vidjeli razliku od 3.8 mb u samo prikazivanju jednostavnog prozora, kada svom programu dodate opterećenje (veliki program koji ima dobru težinu s više od 5 obrazaca i primjenjuje klase, nasljeđivanje, polimorfizam, virtualne funkcije, pokazivači i još mnogo toga kao primjer) Uvjeravam vas da ćete promijeniti svoje mišljenje, želim jasno reći da ne kritiziram druge programske jezike i još manje Python u cantrariju, samo komentiram i testirajte testovima prednosti i nedostatke koje vidim golim okom bez poticanja na produbljivanje pozdrava

          2.    giskard dijo

            Pogledaj ovo:

            http://www.youtube.com/watch?v=cPVlYWxcu18

            Ali pogledajte cijeli video. Nemojte varati da ćete, ako ne, jednostavno dati mišljenje temeljeno na predrasudama.

          3.    giskard dijo

            U svakom slučaju, nisi me razumio. Kako komplicirate stvar, oboje će imati manje-više jednaku težinu. Na stranici Lazarus daju grafikon o tome usput, uspoređujući Lazara s C.
            Na kraju je sve relativni prijatelj. Jer čovjek ne živi samo od RAM-a.

    2.    eliotime3000 dijo

      Barem je QT kompatibilan sa sučeljima Aqua, Win32 (i njihovim Aero i Metro varijantama) i ostalim sučeljima, osim LXDE (iskreno izgleda kao Windows 95).

      1.    pandev92 dijo

        gtk2 u aqua izgleda dobro ...