CPP (aka C ++) + MySQL

MySQL

Kamusta sa lahat, narito nagdala ako sa iyo ng isang halimbawa kung paano ang isang koneksyon sa pagitan ng C ++ at MySQL ay nasa GNU / Linux, syempre ito ay isang pangunahing halimbawa lamang. Una sa lahat upang mag-ipon gagamitin ko ang G ++ at dapat na naka-install ang mga package libmysql ++ y libmysql ++ - dev . Narito ang halimbawa:

# isama # isama # isama gamit ang namespace std; #define SERVER "HOST" #define USER "USR" #define PASSWORD "PSWD" #define DATABASE "example" int main () {MYSQL * connect; kumonekta = mysql_init (NULL); kung (! kumonekta) {cout << "Nabigo ang Initialization ng MySQL"; ibalik ang 1; } kumonekta = mysql_real_connect (kumonekta, "HOST", "USER", "PASWD", "DATA BASE", 0, NULL, 0); kung (kumonekta) {cout << "koneksyon Nagtagumpay \ n"; } iba pa {cout << "nabigo ang koneksyon \ n"; } MYSQL_RES * res_set; Hilera ng MYSQL_ROW; mysql_query (kumonekta, "piliin * mula sa data;"); unsigned int i = 0; res_set = mysql_store_result (kumonekta); unsigned int numrows = mysql_num_rows (res_set); cout << endl; cout << "\ t -------------------------------------------- ----------------- \ t "<< endl; habang ((((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 (kumonekta); ibalik ang 0; }

Kaya, kung hindi mo alam kung paano mag-ipon sa G ++ ito ay isang halimbawa:

g ++ -o pangunahing main.cpp -L / usr / isama / MySQL -lmysqlclient -ako / usr / isama / MySQL

Pagkatapos ay patakbuhin mo ito at ganito ang hitsura:

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

Tandaan: maaari mo ring ipunin ito gamit ang MAKEemium METHOD.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   pandev92 dijo

    C ++ ... tinalo ako ng wikang iyon noong una pa ...

    1.    eliotime3000 dijo

      Nagugutom ako para sa higit pa sa wikang iyon sa pag-program (ang kalinawan at mga posibilidad na inaalok nito ay hindi maaaring palitan).

      1.    pandev92 dijo

        Hindi ko sinasabing hindi, dahil napakahirap para sa akin, sawa o mono, tila mas madaling gamitin ang mga ito.

        1.    giskard dijo

          Dumikit sa Python. Ginagawang mas produktibo ka sa mas kaunting oras.

        2.    eliotime3000 dijo

          Ang Python ay maaaring, upang maitama ang mga bug na nagpapabagal ng mga programa tulad ng software-center o Ubiquiti, ngunit ang Java, upang pumatay lamang ng oras.

          Sa katunayan, sa C ++ mas naiintindihan ko ang mga code (kahit na ang karamihan ay nakikita ang isang maze ng mga hindi nababasa na mga code) at maaari akong magkaroon ng isang malinaw na ideya tungkol sa kung ano ang gagawin nito (bagaman ang Java ay mas madaling maunawaan ang code sa unang pagkakataon, Nakikita ko ito na parang BASIC at upang sabihin ang totoo, mas gusto kong makipagtulungan sa OpenJDK sa halip na ang Java JDK sa takot na maglagay ang Oracle ng maraming mga bug para sa magkantot).

    2.    Nelson dijo

      ako rin

  2.   ferchmetal dijo

    Salamat kaibigan.

  3.   Eduardo dijo

    Pangunahing halimbawa? Pagkatapos ito ang magiging klasikong:
    klase: 2 + 2 = 4
    gawain: 2 × 3 = 6
    Pagsusulit: kung si Eduardo ay mayroong 20 mga dalandan at kailangan niya itong ipamahagi sa 4 na mga bata, ano ang body mass ng mga bata?

    1.    eliotime3000 dijo

      1.- Malutas ang problema (ang pinakamahalagang bagay at kung ano talaga ang mas matagal para sa isang baguhan).
      2.- Isalin ang solusyon sa C ++ (kung ang wikang iyon, ang mga bago ay susuko sa karamihan ng mga kaso at higit pa kung gumagamit sila ng GNU Emacs).
      3.- Pag-debug bilang pag-iingat at pag-ipon (ito ay talagang kabaligtaran, ngunit iilan ang gumagawa ng prosesong iyon).

      PS: Ang pagsubok na iyon ay anti-smug / pedantic.

  4.   Eduardo dijo

    Ang paghingi ng paumanhin ng kaso para sa komento sa triplek, ngunit binigyan ako ng pahina ng error sa panloob na server at marahil dahil dito, kapag sinusubukan ulit, nai-post muli.
    Pagbati at salamat sa post !!

    1.    eliotime3000 dijo

      Walang problema. Gayunpaman, nagbibigay ako ng puna sa Chromium gabi-gabi para sa Windows at wala akong anumang mga problema ng likas na katangian kapag nagkomento (kahit na inirerekumenda ko na magparehistro ka upang ang sistema ng komento ay magtapon sa iyo ng mas maraming mga error kaysa sa Windows Millenium).

      1.    eliotime3000 dijo

        Nais kong sabihin: "kahit na inirerekumenda ko na magparehistro ka upang ang sistema ng komento ay magtapon sa iyo ng mas kaunting mga error kaysa sa Windows Millenium" [errare humanum est].

        1.    pandev92 dijo

          hornbeam lol

  5.   eliotime3000 dijo

    Ang code na iyon ang pinakamagandang C ++ na nakita ko (KISS-style database viewer).

    Ngayon, kung ang code na ito ay maaaring maiipon sa Windows gamit ang GNU Emacs kasabay ng GCC sa Windows (kasama ang MySQL / kasama ang MariaDB), ito ay magiging isang milyahe.

  6.   pamatay ng daga dijo

    Nang walang pag-aalinlangan, ang c ++ ay ang pinakamahusay na mayroon tayo, nagawa ko ang isang walang limitasyong bilang ng mga pagsubok tungkol sa pagganap at mga posibilidad na inaalok sa amin at walang duda walang lumalagpas dito, syempre kinikilala ko na maaari itong maging isang sakit ng ulo para sa ilan

    1.    eliotime3000 dijo

      Hinahangaan ko ang wikang iyon, ngunit kulang ako sa kasanayan (at sapat) upang ma-master ito nang buo at sa gayon ay makapag-ipon ng disenteng visual application kasama ang Qt.

  7.   jamin samuel dijo

    Huy hindi

    Mas gusto ko si Python

    ????

    1.    pamatay ng daga dijo

      Well bawat baliw sa kanyang mga tema pagbati

    2.    giskard dijo

      Napakahusay na pagpipilian.

    3.    eliotime3000 dijo

      [pagkamakasarili] Tamad [/ pagkamakasarili].

  8.   Dyulian dijo

    Mas gusto ko ang VB.NET, mas madali ito at may magandang suporta para sa SQL Server. Bilang karagdagan sa pagiging mas produktibo kaysa sa ibang mga wika at isa sa pinakahihiling kapag naghahanap ng trabaho. Ayokong sayangin ang oras ko sa C ++

    1.    pandev92 dijo

      Kung nakakakuha kami ng ganito, ang pinaka-hinihiling ay karaniwang ang basura ng Java.

      1.    eliotime3000 dijo

        Ito ay kapareho ng VB.NET, ngunit mas graphic at walang silbi na magtrabaho sa GNU / Linux.

  9.   pamatay ng daga dijo

    Inirerekumenda ko lamang ang C ++ bc na pagsisiyasat lumikha ng isang simpleng pagbebenta sa c ++, sawa at qt at sorpresa ng bakod:
    Python-> 7.6 mb
    Qt -> 27 mb (XD)
    C ++ -> 2.4 mb

    Sa gayon ang bawat isa na gumuhit ng kanilang sariling mga konklusyon pagbati

    1.    giskard dijo

      Python 7.6MB ??? Hindi pwede! Imposible. Kung ang mga ito ay hindi hihigit sa mga script. O mayroon kang mga imahe? Ibahagi ang code. Ganito natin lahat nakikita ito at pinaghambing. Kumbinsihin mo kami

      1.    pamatay ng daga dijo

        Tama ka ng isang maliit na bug sawa ay hindi kumonsumo ng 7.6 mb ngunit kung 6.2 mb kaya sabihin mo sa akin ngayon ...
        Ito ang code at sa palagay ko hindi ito maaaring mas ma-optimize:
        #! / usr / bin / python
        mula sa gi.repository import Gtk

        manalo = Gtk.Window ()
        win.connect ("tanggalin-kaganapan", Gtk.main_quit)
        win.show_all ()
        Gtk.main ()

        1.    giskard dijo

          Akala ko ang ibig mong sabihin ay pagkonsumo ng RAM. Ang bagay ay, sa Python at sa halos anumang wika, sukatin mo ang isang asymptotic curve habang kumplikado mo ang code. Para lamang sa pagsubok nagpatakbo ako ng isang laro na binuo ko sa PyGame. Animation + background audio + tunog para sa mga kaganapan at bahagyang umabot sa 14MB. Tulad ng malinaw na ang iyong programa ay hindi magiging kasing simple ng isang window ngunit mas kumplikado, makikita mo sa huli na, kapag mayroon kang sapat na code, ang malalaking pagbabago dito ay hindi magdadala sa iyo ng mas higit na pagtaas sa paggamit ng RAM.

        2.    giskard dijo

          Upang gawing simple ang medyo ipinapaliwanag ko: Hindi ka makakagawa ng isang profile sa oras kung hindi ka nagpapatakbo ng isang segment ng code ng ilang libong beses, tama ba? Sa gayon, hindi mo rin masasabi kung ang isang wika ay kumakain ng marami o kaunti sa pamamagitan lamang ng pagtingin sa pinakasimpleng posibleng halimbawa. Sa katunayan, ang bilis ng kamay ay upang tumingin bilang kumplikado hangga't maaari.

          1.    pamatay ng daga dijo

            Sa aking pagkaunawa sa antas ng programa ay 01010111, assembler at pagkatapos ay c, imposible na ang isang mataas na antas na wika tulad ng sawa ay lumalagpas sa ac / c ++ sa pagganap (sa bawat paraan) at mabuti, ano ang mas mahusay kaysa sa isang simpleng halimbawa tulad ng paglikha isang window upang makita ang pagkakaiba ng 3.8 mb sa pagpapakita lamang ng isang simpleng window, kapag nagdagdag ka ng load sa iyong programa (isang malaking programa, na mayroong mabuting timbang na may higit sa 5 mga form, at naglalapat ng mga klase, mana, polymorphism, virtual function, mga payo at higit pa upang magbigay ng isang halimbawa) Tinitiyak ko sa iyo na babaguhin mo ang iyong opinyon, nais kong linawin na hindi ko pinupuna ang iba pang mga wika ng pagprograma at higit na mas mababa ang Python sa cantrario, nagkomento lamang ako at sumusubok sa mga pagsubok mga kalamangan at dehadong nakikita ko nang walang mata nang walang pag-uudyok na palalimin ang mga pagbati

          2.    giskard dijo

            Tingnan mo ito:

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

            Ngunit panoorin ang buong video. Huwag lokohin iyon kung hindi bibigyan mo lamang ng isang opinyon batay sa pagtatangi.

          3.    giskard dijo

            Sa anumang kaso hindi mo ako naiintindihan. Habang pinapalubha mo ang bagay na ito, pareho ang magkakaroon ng higit o mas mababa sa parehong timbang. Sa pahina ng Lazarus nagbibigay sila ng isang grap tungkol doon sa pamamagitan ng paghahambing sa Lazarus kay C.
            Sa huli ang lahat ay kamag-anak na kaibigan. Dahil ang tao ay hindi nabubuhay sa RAM lamang.

    2.    eliotime3000 dijo

      Hindi bababa sa ang QT ay katugma sa mga interface ng Aqua, Win32 (at ang kanilang mga variant ng Aero at Metro) at iba pang mga interface maliban sa LXDE (parang ang Windows 95 ay matapat).

      1.    pandev92 dijo

        Ang gtk2 sa aqua ay mukhang maganda ...