CPP (aka C ++) + MySQL

MySQL

Hola a tots aquí els porto un exemple de com seria una connexió entre C++ i MySQL a GNU/Linux, és clar que això és només un exemple bàsic. Primer que tot per compilar faré servir G++ i han de tenir instal·lat els paquets libmysql++ y libmysql++-dev . Bé aquí l'exemple:

#include #include #include using namespace std; #define SERVER "HOST" #define USER "USR" #define PASSWORD "PSWD" #define DATABASE "example" int main() { MYSQL *connect; connect=mysql_init(NULL); if (!connect) { cout<<"MySQL Initialization failed"; return 1; } connect=mysql_real_connect(connect, "HOST", "USER", "PASWD" , "DATA BASE" ,0,NULL,0); if (connect) { cout<<"connection Succeeded\n"; } else { cout<<"connection failed\n"; } MYSQL_RES *res_set; MYSQL_ROW row; mysql_query (connect,"select * from data;"); unsigned int i =0; res_set = mysql_store_result(connect); unsigned int numrows = mysql_num_rows(res_set); cout << endl; cout <<"\t -------------------------------------------- ------------------------- \t"<< endl; while (((row= mysql_fetch_row(res_set)) !=NULL )) { //cout<<" %s\n",row[i] !=NULL?row[i] : "NULL"; cout <<"\t | \t" << row[i] << "\t | \t"<< row[i+1] << "\t | \t"<< row[i+2] << "\t | \t" << endl; cout <<"\t -------------------------------------------- ------------------------- \t"<< endl; } mysql_close (connect); return 0; }

Bé, si no saben com compilar a G++ aquest és un exemple:

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

Després ho executes i quedaria així:

------------------------------------- | 1 | Carme | 46 | ------------------------------------- | 2 | Joan | 56 | --------------------------------------

Nota: també pots compilar-ho usant MAKEFILE METHOD.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   pandev92 va dir

    C++…, aquest llenguatge em va derrotar fa temps…

    1.    eliotime3000 va dir

      Jo em quedo amb gana de més amb aquest llenguatge de programació (la claredat i les possibilitats que ofereix són irreemplaçables).

      1.    pandev92 va dir

        No dic que no, només perquè a mi, se'm va fer molt díficil, python o mono, em van semblar més fàcils d'usar.

        1.    Giskard va dir

          Queda't amb Python. Et fa més productiu en menys temps.

        2.    eliotime3000 va dir

          Python pugui ser, per poder corregir bugs que alenteixen programes com el programari-center o l'Ubiquiti, però Java, només per matar el temps.

          De fet, amb el C++ jo aconsegueixo entendre millor els codis (encara que la majoria vegi un laberint de codis il·legibles) i puc tenir una noció clara sobre el que farà (tot i que el Java és més fàcil d'entendre el codi a la primera) , ho veig com si fos BASIC ia dir veritat, prefereixo treballar amb l'OpenJDK en comptes del Java JDK per temor que Oracle fiqui més bugs per fotre).

    2.    nelson va dir

      al meu també

  2.   ferxometal va dir

    Gràcies amic.

  3.   Eduardo va dir

    exemple bàsic? Aleshores serà el clàssic:
    classe: 2+2 = 4
    tasca: 2×3=6
    examen: si eduardo té 20 taronges i les ha de repartir entre 4 nens, quina és la massa corporal dels nens?

    1.    eliotime3000 va dir

      1.- Solucionar el problema (el més important i el que realment demora més per a un novell).
      2.- Traduir la solució al C++ (si és aquest llenguatge, els nous es rendiran en la majoria dels casos i més si usen GNU Emacs).
      3.- Depurar per precaució i compilar (en realitat és al revés, però pocs fan aquest procés).

      PD: Aquest examen és antipetulants/pedants.

  4.   Eduardo va dir

    Les disculpes del cas pel comentari per triplicat, però la pàgina em va donar error intern de servidor i potser per això, en reintentar, es va tornar a postejar.
    Salutacions i gràcies pel post !!

    1.    eliotime3000 va dir

      Cap problema. De totes maneres, estic comentant a Chromium nightly per a Windows i no he tingut problemes d'aquesta mena a l'hora de comentar (encara que et recomano que et registris perquè el sistema de comentaris et boti més errors que Windows Millenium).

      1.    eliotime3000 va dir

        Vaig voler dir: «encara que et recomano que et registris perquè el sistema de comentaris et boti menys errors que Windows Millenium» [errare humanum est].

        1.    pandev92 va dir

          carpe dium LOL

  5.   eliotime3000 va dir

    Aquest codi és el més bonic que he vist pel que fa al C++ (visualitzador de base de dades a l'estil KISS).

    Ara, si s'aconsegueix compilar aquest codi a Windows usant el GNU Emacs en conjunt amb el GCC a Windows (amb el MySQL/MariaDB inclòs), seria una fita.

  6.   ratakill va dir

    Sens dubte c++ és el major q tenim he fet un sense límits de proves a prop del rendiment i possibilitats q ens brinda i sens dubte res ho supera clar q reconosc q pot ser un mal de cap per a alguns

    1.    eliotime3000 va dir

      Jo admiro aquest llenguatge, però em falta pràctica (i força) com per poder dominar-lo del tot i poder així armar una aplicació visual decent amb Qt.

  7.   Jamin-samuel va dir

    Avui no

    Prefereixo Python

    ????

    1.    ratakill va dir

      Well cada boig amb el seu tema salutacions

    2.    Giskard va dir

      Excel·lent elecció.

    3.    eliotime3000 va dir

      [egoisme]Vago[/egoisme].

  8.   julià va dir

    Prefereixo VB.NET, és molt més fàcil i té bon suport per a SQL Server. A més de ser més productiu que altres llenguatges i un dels més sol·licitats a l'hora de cercar feina. no vull perdre el meu temps amb C++

    1.    pandev92 va dir

      Si ens posem així, el més sol·licitat sol ser la porqueria de Java.

      1.    eliotime3000 va dir

        És igual que el VB.NET, però molt més gràfic i és inútil treballar-lo a GNU/Linux.

  9.   ratakill va dir

    Només recomano C++ bc probe crear una simple venda a c++ , python and qt i tanca sorpresa:
    Python-> 7.6 mb
    Qt -> 27 mb (XD)
    C++ -> 2.4 mb

    Well cadascú q tregui les seves pròpies conclusions salutacions

    1.    Giskard va dir

      Python 7.6MB??? Què va! Impossible. Si no són res més que scripts. O tenies imatges? Comparteix el codi. Així ho veiem tots i comparem. Convenci'ns.

      1.    ratakill va dir

        Tens raon una petita fallada python no consumia 7.6 mb però si 6.2 mb so que em dius ara…
        Aquest és el codigo i crec que més optimitzat no pot estar:
        #! / Usr / bin / python
        from gi.repository import Gtk

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

        1.    Giskard va dir

          M'imagino que et refereixes a consum a RAM. La cosa és que a Python i en gairebé qualsevol llenguatge, escales una corba asimptòtica a mesura que compliques el codi. Per provar només vaig córrer un joc que estic desenvolupant amb PyGame. Animació + àudio en background + sons per esdeveniments i amb prou feines va arribar a 14MB. Com que òbviament el teu programa no serà així de simple com una finestreta sinó més complex, veuràs al final que, quan tinguis prou codi, grans modificacions no et reportaran un major increment en l'ús de RAM.

        2.    Giskard va dir

          Per simplificar una mica el que t'exposo: No pots fer un profile de temps si no corres unes milers de vegades un segment de codi, oi? Bé, de la mateixa manera no pots dir si un llenguatge consumeix molt o poc mirant l'exemple més simple possible. De fet, el truc és mirar el més complex que puguis.

          1.    ratakill va dir

            Bé al meu entendre a nivell de programació aquesta 01010111, assemblador i després c, és impossible que el llenguatge d'alt nivell com a python supero en rendiment (en tots els sentits) ac/c++ i bé que millor que un exemple ben senzill com el de crear una finestra per veure una diferència de 3.8 mb en només mostrar una simple finestra, quan afegeixes carrega al teu programa (un programa gran, que tingui bon pes amb més de 5 forms, i apliquis classes, herència, polimorfirms, funcions virtuals, punters i de mes per posar un exemple) t'asseguro que canviessis d'opinion, vull q quedeclaro que no critico altres llenguatges de programacio i molt menys python al cantrari, només comento i provo amb proves els avantatges i desavantatges que veig a simple vista sense animo d'aprofundir salutacions

          2.    Giskard va dir

            Revisa això:

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

            Però veu el vídeo complet. No facis parany que si no simplement donaràs una opinió basada en prejudicis.

          3.    Giskard va dir

            En tot cas no em vas entendre. A mesura que compliquis l'assumpte tots dos tindran més o menys el mateix pes. A la pàgina de Lazarus donen un gràfic sobre això per cert, comparant Lazarus amb C.
            Al final tot és amic relatiu. Perquè no només de RAM hi viu l'home.

    2.    eliotime3000 va dir

      Almenys el QT és compatible amb les interfícies Aqua, Win32 (i les seves variants Aero i Metro) i altres interfícies excepte el LXDE (es veu com Windows 95 per ser sincer).

      1.    pandev92 va dir

        gtk2 en aqua es veu bé…