CPP (aka C ++) + MySQL

MySQL

Moien alleguer, hei bréngen ech Iech e Beispill wéi eng Verbindung tëscht C ++ a MySQL a GNU / Linux wier, natierlech ass dat just e Basis Beispill. Als éischt fir ze kompiléieren wäert ech G ++ benotzen a si mussen d'Packagen installéiert hunn libmysql ++ y libmysql ++ - Dev . Majo hei ass d'Beispill:

# abegraff # abegraff # abegraff mam Nummraum std; # definéieren SERVER "HOST" # definéieren BENOTZER "USR" # definéieren PASSWORT "PSWD" # definéieren DATABASE "Beispill" int main () {MYSQL * connect; verbannen = mysql_init (NULL); wann (! connect) {cout << "MySQL Initialiséierung ausgefall"; zréck 1; } connect = mysql_real_connect (connect, "HOST", "USER", "PASWD", "DATA BASE", 0, NULL, 0); wann (connect) {cout << "Verbindung Erfolleg \ n"; } soss {cout << "Verbindung feelgeschloen \ n"; } MYSQL_RES * res_set; MYSQL_ROW Rei; mysql_query (verbannen, "wielt * aus Daten;"); net signéiert int i = 0; res_set = mysql_store_result (verbannen); net signéiert int numrows = mysql_num_rows (res_set); cout << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; wärend (((Rei = mysql_fetch_row (res_set))! = NULL)) {// cout << "% s \ n", Rei [i]! = NULL? Rei [i]: "NULL"; cout << "\ t | \ t" << Rei [i] << "\ t | \ t" << Rei [i + 1] << "\ t | \ t" << Rei [i + 2] << "\ t | \ t" << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; } mysql_close (verbannen); zréck 0; }

Gutt, wann Dir net wësst wéi Dir an G ++ kompiléiert ass dëst e Beispill:

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

Da fuert Dir et an et wäert esou ausgesinn:

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

Notiz: Dir kënnt et och kompiléiere mat MAKEFILE METHOD.


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

33 Kommentaren, loosst ären

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.

  1.   pandev92 sot

    C ++ ... déi Sprooch huet mech scho laang besiegt ...

    1.    eliotime3000 sot

      Ech sinn hongereg fir méi mat där Programméierungssprooch (d'Kloerheet an d'Méiglechkeeten déi se ubidden sinn net ze ersetzen).

      1.    pandev92 sot

        Ech soen net nee, just well et fir mech ganz schwéier war, Python oder Mono, si schénge méi einfach ze benotzen.

        1.    Giskard sot

          Stieche mam Python. Maacht Iech méi produktiv a manner Zäit.

        2.    eliotime3000 sot

          Python ka sinn, fir Bugs ze korrigéieren déi Programmer wéi de Software-Center oder Ubiquiti verlangsamen, awer Java, just fir d'Zäit ëmzebréngen.

          Tatsächlech, mat C ++ kann ech d'Codes besser verstoen (och wann déi meescht e Labyrinth vun onliesbare Coden gesinn) an ech kann e klore Begrëff hunn iwwer wat et geet (obwuel Java de Code méi einfach ass fir d'éischt ze verstoen , Ech gesinn et wéi wann et BASIC wier an d'Wourecht ze soen, ech léiwer mat der OpenJDK amplaz vun der Java JDK ze schaffen aus Angscht datt Oracle méi Bugs fir de Féck wäert setzen).

    2.    Nelson sot

      ech och

  2.   ferchmetall sot

    Merci Frënd.

  3.   Eduardo sot

    Basis Beispill? Da wäert et de Klassiker sinn:
    Klass: 2 + 2 = 4
    Aufgab: 2 × 3 = 6
    Examen: wann den Eduardo 20 Orangen huet an hie muss se op 4 Kanner verdeelen, wat ass d'Kierpermass vun de Kanner?

    1.    eliotime3000 sot

      1.- Léist de Problem (dat Wichtegst a wat wierklech méi laang dauert fir en Ufänger).
      2.- Iwwersetzt d'Léisung op C ++ (wann et déi Sprooch ass, da ginn déi nei an de meeschte Fäll a méi wann se GNU Emacs benotzen).
      3.- Debugéieren als Precautioun a kompiléieren (eigentlech ass et ëmgedréint, awer wéineg maachen dee Prozess).

      PS: Deen Test ass anti-geschmoll / pedantesch.

  4.   Eduardo sot

    D'Entschëllegunge vum Fall fir de Kommentar am Dräilännereck, awer d'Säit huet mir en interne Serverfehler gemaach a vläicht wéinst dësem, wann Dir et nach eng Kéier probéiert, gouf et erëm gepost.
    Gréiss a Merci fir de Post !!

    1.    eliotime3000 sot

      Kee Problem. Jiddefalls kommentéieren ech Chromium Nightly fir Windows an ech hu keng Probleemer vun där Natur beim Kommentéieren (och wann ech recommandéieren datt Dir Iech aschreift fir datt de Kommentarsystem Iech méi Feeler werft wéi Windows Millenium).

      1.    eliotime3000 sot

        Ech wollt soen: "obwuel ech recommandéieren datt Dir Iech aschreift fir datt de Kommentarsystem Iech manner Feeler werft wéi Windows Millenium" [errare humanum est].

        1.    pandev92 sot

          carpe dium LOL

  5.   eliotime3000 sot

    Dëse Code ass dee schéinsten C ++ deen ech gesinn hunn (KISS-Style Datebank Viewer).

    Elo, wann dëse Code kann op Windows mat GNU Emacs a Verbindung mat GCC op Windows kompiléiert ginn (mat MySQL / MariaDB abegraff), wier et e Meilesteen.

  6.   ratakill sot

    Ouni Zweifel, c ++ ass dat Bescht wat mir hunn, ech hunn eng onlimitéiert Unzuel un Tester gemaach iwwer d'Leeschtung an d'Méiglechkeeten déi et eis bitt an ouni Zweiwel gëtt et näischt iwwerschratt, natierlech erkennen ech datt et Kappwéi ka sinn

    1.    eliotime3000 sot

      Ech bewonneren déi Sprooch, awer et feelt mir u Praxis (a genuch) fir se komplett kënnen ze beherrschen an domat eng uerdentlech visuell Uwendung mat Qt kënnen zesummesetzen.

  7.   jamin-samuel sot

    Huy nee

    Ech hu léiwer Python

    😀

    1.    ratakill sot

      Gutt all Wahnsinn mat sengen Themegréiss

    2.    Giskard sot

      Exzellent Wiel.

    3.    eliotime3000 sot

      [Egoismus] Lazy [/ Egoismus].

  8.   Julian sot

    Ech hu léiwer VB.NET, et ass vill méi einfach an huet e gudde Support fir SQL Server. Zousätzlech méi produktiv ze sinn wéi aner Sproochen an eng vun de meescht gefrote wann Dir no Aarbecht sicht. Ech wëll meng Zäit mam C ++ net verschwenden

    1.    pandev92 sot

      Wa mir et esou soen, ass déi meescht gefuerdert normalerweis d'Craps vu Java.

      1.    eliotime3000 sot

        Et ass d'selwecht wéi VB.NET, awer vill méi grafesch an et ass nëtzlech fir op GNU / Linux ze schaffen.

  9.   ratakill sot

    Ech empfeelen nëmmen C ++ bc Sonde en einfachen Verkaf a c ++, Python a Qt a Fence Iwwerraschung ze kreéieren:
    Python-> 7.6 MB
    Qt -> 27 MB (XD)
    C ++ -> 2.4 MB

    Gutt jidderee seng eege Conclusiounen ze zéien

    1.    Giskard sot

      Python 7.6MB ??? Op kee Fall! Onméiglech. Wa se näischt méi wéi Skripte sinn. Oder hutt Dir Biller? Deelt de Code. Dëst ass wéi mir et all gesinn a vergläichen. Iwwerzeegt eis.

      1.    ratakill sot

        Dir hutt Recht e klenge Feeler Python huet net 7.6 MB verbraucht awer wann 6.2 MB sou sot Dir mir elo ...
        Dëst ass de Code an ech mengen et kann net méi optimiséiert ginn:
        #! / usr / bin / Python
        vum gi.Repositiounsimport Gtk

        gewannen = Gtk.Window ()
        win.connect ("Läschen-Event", Gtk.main_quit)
        win.show_all ()
        Gtk.main ()

        1.    Giskard sot

          Ech stellen Iech vir datt Dir de RAM Konsum mengt. D'Saach ass, am Python a bal all Sprooch, maacht Dir eng asymptotesch Kurve wéi Dir de Code komplizéiert. Just fir ze testen hunn ech e Spill gemaach dat ech mam PyGame entwéckelen. Animatioun + Hannergrond Audio + Kläng fir Eventer a knapps 14MB erreecht. Wéi offensichtlech ass Äre Programm net sou einfach wéi eng Fënster awer méi komplex, da gesitt Dir um Enn datt, wann Dir genuch Code hutt, grouss Ännerungen dran Iech net méi eng grouss Erhéijung vun der Benotzung vum RAM bréngen.

        2.    Giskard sot

          Fir dat ze vereinfachen wat ech Iech e bësse weisen: Dir kënnt keen Zäitprofil maachen wann Dir kee Segment vum Code e puer dausend Mol leeft, oder? Gutt, op déiselwecht Manéier kënnt Dir net soen ob eng Sprooch vill oder e bësse verbraucht just andeems Dir op dat einfachst Beispill kuckt. Tatsächlech ass den Trick fir déi komplexst ze kucken déi Dir kënnt.

          1.    ratakill sot

            Gutt a mengem Verständnis um Programméierungsniveau dësen 01010111, Assembler an dann c, sou onméiglech datt et mat enger héijer Sprooch wéi Python den AC / C ++ an der Leeschtung (an allen Hisiichten) iwwerschreit a gutt, wat besser wéi e ganz einfach Beispill wéi dat vun erstellen eng Fënster fir en Ënnerscheed vun 3.8 MB ze gesinn an nëmmen eng einfach Fënster ze weisen, wann Dir Laascht op Äre Programm bäifügt (e grousst Programm, dat e gutt Gewiicht mat méi wéi 5 Formen huet, a benotzt Klassen, Ierfschaft, Polymorphismus, virtuell Funktiounen, Hiweiser a méi fir e Beispill ze ginn) Ech versécheren Iech datt Dir Är Meenung ännert, ech wëll et kloer maachen datt ech aner Programméierungssproochen net kritiséieren a vill manner Python zum Kantario, ech kommentéieren a testen nëmmen mat Tester d'Virdeeler an Nodeeler déi ech mat bloussem A gesinn ouni Encouragement Gréiss ze verdéiwen

          2.    Giskard sot

            Kuckt dëst aus:

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

            Awer kuckt de komplette Video. Net fuddelen dat soss gitt Dir einfach eng Meenung baséiert op Viruerteeler.

          3.    Giskard sot

            Op alle Fall hues du mech net verstanen. Wéi Dir d'Saach komplizéiere wäert béid méi oder manner déiselwecht Gewiicht hunn. Op der Lazarus Säit gi se iwwregens eng Grafik iwwer dat, a vergläichen de Lazarus mam C.
            Um Enn ass alles relativ Frënd. Well de Mënsch lieft net vum RAM eleng.

    2.    eliotime3000 sot

      Op d'mannst ass de QT kompatibel mat den Aqua, Win32 (an hiren Aero a Metro Varianten) Interfaces an aner Interfaces ausser LXDE (et gesäit aus wéi Windows 95 fir éierlech ze sinn).

      1.    pandev92 sot

        gtk2 an aqua gesäit gutt aus ...