CPP (aka C ++) + MySQL

MySQL

Hej alle sammen, her bringer jeg jer et eksempel på, hvordan en forbindelse mellem C ++ og MySQL ville være i GNU / Linux, selvfølgelig er dette bare et grundlæggende eksempel. Først og fremmest for at kompilere skal jeg bruge G ++, og de skal have pakkerne installeret libmysql ++ y libmysql ++ - dev . Nå her er eksemplet:

#omfatte #omfatte #omfatte ved hjælp af namespace std; #define SERVER "HOST" #define USER "USR" #define PASSWORD "PSWD" #define DATABASE "example" int main () {MYSQL * connect; forbinde = mysql_init (NULL); hvis (! connect) {cout << "MySQL initialisering mislykkedes"; returnere 1; } connect = mysql_real_connect (connect, "HOST", "USER", "PASWD", "DATA BASE", 0, NULL, 0); hvis (connect) {cout << "forbindelse lykkedes \ n"; } ellers {cout << "forbindelse mislykkedes \ n"; } MYSQL_RES * res_set; MYSQL_ROW række; mysql_query (tilslut, "vælg * fra data;"); usigneret int i = 0; res_set = mysql_store_result (tilslut); usignerede int numrows = mysql_num_rows (res_set); cout << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; mens (((række = mysql_fetch_row (res_set))! = NULL)) {// cout << "% s \ n", række [i]! = NULL? række [i]: "NULL"; cout << "\ t | \ t" << række [i] << "\ t | \ t" << række [i + 1] << "\ t | \ t" << række [i + 2] << "\ t | \ t" << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; } mysql_close (tilslut); returnere 0; }

Nå, hvis du ikke ved, hvordan du kompilerer i G ++, er dette et eksempel:

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

Så kører du det, og det ser ud som dette:

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

Bemærk: Du kan også kompilere det ved hjælp af MAKEFILE METHOD.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   pandev92 sagde han

    C ++ ... det sprog besejrede mig for længe siden ...

    1.    eliotime3000 sagde han

      Jeg er sulten efter mere med det programmeringssprog (klarheden og mulighederne, den giver, er uerstattelig).

      1.    pandev92 sagde han

        Jeg siger ikke nej, bare fordi det var meget svært for mig, python eller mono, syntes de lettere at bruge.

        1.    giskard sagde han

          Hold dig til Python. Gør dig mere produktiv på kortere tid.

        2.    eliotime3000 sagde han

          Python kan være for at kunne rette fejl, der bremser programmer som softwarecenter eller Ubiquiti, men Java, bare for at dræbe tid.

          Faktisk med C ++ kan jeg bedre forstå koderne (selvom de fleste ser en labyrint af ulæselige koder), og jeg kan have en klar opfattelse af, hvad den vil gøre (selvom Java er lettere at forstå koden første gang , Jeg ser det som om det var BASIC og sandt at sige, foretrækker jeg at arbejde med OpenJDK i stedet for Java JDK af frygt for, at Oracle vil lægge flere bugs for fanden)

    2.    nelson sagde han

      også mig

  2.   ferchmetal sagde han

    Tak ven.

  3.   Eduardo sagde han

    Grundlæggende eksempel? Så bliver det klassikeren:
    klasse: 2 + 2 = 4
    opgave: 2 × 3 = 6
    Eksamen: Hvis Eduardo har 20 appelsiner, og han er nødt til at fordele dem blandt 4 børn, hvad er så børnenes kropsmasse?

    1.    eliotime3000 sagde han

      1. - Løs problemet (det vigtigste og hvad der virkelig tager længere tid for en novice).
      2.- Oversæt løsningen til C ++ (hvis det er det sprog, vil de nye give op i de fleste tilfælde og mere, hvis de bruger GNU Emacs).
      3.- Fejlfind som en forholdsregel og kompilér (det er faktisk omvendt, men kun få gør den proces).

      PS: Den test er anti-selvtilfreds / pedantisk.

  4.   Eduardo sagde han

    Undskyldninger fra sagen for kommentaren i tre eksemplarer, men siden gav mig intern serverfejl, og måske på grund af dette blev den sendt igen, når den forsøgte igen.
    Hilsner og tak for indlægget !!

    1.    eliotime3000 sagde han

      Intet problem. Under alle omstændigheder kommenterer jeg Chromium om natten til Windows, og jeg har ikke haft nogen problemer af den art, når jeg kommenterer (selvom jeg anbefaler, at du registrerer dig, så kommentarsystemet giver dig flere fejl end Windows Millenium).

      1.    eliotime3000 sagde han

        Jeg ville sige: "skønt jeg anbefaler, at du registrerer dig, så kommentarsystemet giver dig færre fejl end Windows Millenium" [errare humanum est].

        1.    pandev92 sagde han

          avnbøg lol

  5.   eliotime3000 sagde han

    Denne kode er den smukkeste C ++, jeg har set (KISS-stil database viewer).

    Hvis denne kode nu kan kompileres på Windows ved hjælp af GNU Emacs i forbindelse med GCC på Windows (med MySQL / MariaDB inkluderet), ville det være en milepæl.

  6.   rottedrab sagde han

    Uden tvivl er c ++ det bedste, vi har, jeg har lavet et ubegrænset antal tests om den ydeevne og muligheder, det giver os, og uden tvivl overgår intet det, selvfølgelig erkender jeg, at det kan være hovedpine for nogle

    1.    eliotime3000 sagde han

      Jeg beundrer det sprog, men jeg mangler praksis (og nok) til at være i stand til at mestre det fuldstændigt og dermed være i stand til at sammensætte en anstændig visuel applikation med Qt.

  7.   jamin samuel sagde han

    Huy nej

    Jeg foretrækker Python

    ????

    1.    rottedrab sagde han

      Nå hver galning med sine temahilsener

    2.    giskard sagde han

      Fremragende valg.

    3.    eliotime3000 sagde han

      [egoisme] Lazy [/ egoisme].

  8.   julian sagde han

    Jeg foretrækker VB.NET, det er meget lettere og har god support til SQL Server. Ud over at være mere produktive end andre sprog og et af de mest efterspurgte, når man leder efter arbejde. Jeg vil ikke spilde min tid med C ++

    1.    pandev92 sagde han

      Hvis vi udtrykker det sådan, er det mest efterspurgte Java-lort.

      1.    eliotime3000 sagde han

        Det er det samme som VB.NET, men meget mere grafisk, og det er nytteløst at arbejde på GNU / Linux.

  9.   rottedrab sagde han

    Jeg anbefaler kun C ++ bc sonde oprette en simpel salg i c ++, python og qt og hegn overraskelse:
    Python-> 7.6 mb
    Qt -> 27 mb (XD)
    C ++ -> 2.4 mb

    Nå alle til at drage deres egne konklusioner hilsner

    1.    giskard sagde han

      Python 7.6MB ??? Ingen måde! Umulig. Hvis de ikke er andet end scripts. Eller havde du billeder? Del koden. Dette er, hvordan vi alle ser det og sammenligner det. Overbevis os.

      1.    rottedrab sagde han

        Du har ret, en lille bug python forbrugte ikke 7.6 mb, men hvis 6.2 mb, så fortæl mig nu ...
        Dette er koden, og jeg tror, ​​den kan ikke optimeres mere:
        #! / Usr / bin / python
        fra gi.repository import Gtk

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

        1.    giskard sagde han

          Jeg forestiller mig, at du mener RAM-forbrug. Sagen er, at du i Python og på næsten ethvert sprog skalerer en asymptotisk kurve, når du komplicerer koden. Bare til test kørte jeg et spil, som jeg udvikler med PyGame. Animation + baggrundslyd + lyde til begivenheder og nåede knap 14 MB. Da dit program naturligvis ikke bliver så simpelt som et vindue, men mere komplekst, vil du i sidste ende se, at når du har nok kode, vil store ændringer i det ikke give dig en større stigning i brugen af ​​RAM.

        2.    giskard sagde han

          For at forenkle det, jeg viser dig lidt: Du kan ikke lave en tidsprofil, hvis du ikke kører et kodesegment et par tusinde gange, ikke? På samme måde kan du ikke fortælle, om et sprog bruger meget eller lidt bare ved at se på det enklest mulige eksempel. Faktisk er tricket at se på det mest komplekse du kan.

          1.    rottedrab sagde han

            Nå efter min forståelse på programmeringsniveau overgår dette 01010111, assembler og derefter c, så umuligt, at det med et højt sprog som python overgår ac / c ++ i ydeevne (i alle henseender) og godt, hvad bedre end et meget simpelt eksempel som det af opret et vindue for at se en forskel på 3.8 mb ved bare at vise et simpelt vindue, når du tilføjer belastning til dit program (et stort program, der har en god vægt med mere end 5 former, og anvender klasser, arv, polymorfisme, virtuelle funktioner, pointer og mere for at give et eksempel) Jeg forsikrer dig om, at du vil ændre din mening, jeg vil gøre det klart, at jeg ikke kritiserer andre programmeringssprog og meget mindre Python til cantrario, jeg kommenterer kun og tester med test de fordele og ulemper, som jeg ser med det blotte øje uden opmuntring at uddybe hilsner

          2.    giskard sagde han

            Se lige det her:

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

            Men se den fulde video. Snyd ikke, ellers giver du simpelthen en mening baseret på fordomme.

          3.    giskard sagde han

            Under alle omstændigheder forstod du mig ikke. Når du komplicerer sagen, har begge mere eller mindre den samme vægt. På Lazarus-siden giver de forresten en graf om det, hvor man sammenligner Lazarus med C.
            I sidste ende er alt relativ ven. Fordi mennesket ikke lever af RAM alene.

    2.    eliotime3000 sagde han

      I det mindste er QT kompatibel med Aqua, Win32 (og deres Aero og Metro varianter) grænseflader og andre grænseflader undtagen LXDE (det ser ud som Windows 95 for at være ærlig).

      1.    pandev92 sagde han

        gtk2 i aqua ser godt ud ...