CPP (ook bekend als C ++) + MySQL

MySQL

Hallo allemaal, hier geef ik je een voorbeeld van hoe een verbinding tussen C ++ en MySQL zou zijn in GNU / Linux, dit is natuurlijk slechts een eenvoudig voorbeeld. Allereerst ga ik om te compileren G ++ gebruiken en ze moeten de pakketten hebben geïnstalleerd libmysql ++ y libmysql ++ - dev . Welnu, hier is het voorbeeld:

#inclusief #inclusief #inclusief namespace std; gebruiken; #define SERVER "HOST" #define USER "USR" #define PASSWORD "PSWD" #define DATABASE "voorbeeld" int main () {MYSQL * connect; connect = mysql_init (NULL); if (! connect) {cout << "MySQL initialisatie mislukt"; terugkeer 1; } connect = mysql_real_connect (connect, "HOST", "USER", "PASWD", "DATA BASE", 0, NULL, 0); if (connect) {cout << "verbinding geslaagd \ n"; } else {cout << "verbinding mislukt \ n"; } MYSQL_RES * res_set; MYSQL_ROW rij; mysql_query (connect, "select * from data;"); unsigned int i = 0; res_set = mysql_store_result (verbinden); 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" << rij [i] << "\ t | \ t" << rij [i + 1] << "\ t | \ t" << rij [i + 2] << "\ t | \ t" << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; } mysql_close (connect); retourneer 0; }

Als je niet weet hoe je moet compileren in G ++, dan is dit een voorbeeld:

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

Dan voer je het uit en het zou er als volgt uitzien:

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

Let op: je kunt het ook compileren met MAKEFILE METHOD.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   pandev92 zei

    C ++ ... die taal heeft me lang geleden verslagen ...

    1.    eliotime3000 zei

      Ik heb honger naar meer met die programmeertaal (de duidelijkheid en mogelijkheden die het biedt zijn onvervangbaar).

      1.    pandev92 zei

        Ik zeg geen nee, alleen omdat het erg moeilijk voor mij was, python of mono, leken ze gemakkelijker te gebruiken.

        1.    giskard zei

          Blijf bij Python. Maakt u productiever in minder tijd.

        2.    eliotime3000 zei

          Python is misschien, om bugs te corrigeren die programma's zoals software-center of Ubiquiti vertragen, maar Java, gewoon om de tijd te doden.

          In feite kan ik met C ++ de codes beter begrijpen (hoewel de meesten een doolhof van onleesbare codes zien) en ik kan een duidelijk idee hebben van wat het gaat doen (hoewel Java de eerste keer gemakkelijker is om de code te begrijpen , Ik zie het alsof het BASIC is en om de waarheid te zeggen, ik werk liever met de OpenJDK in plaats van de Java JDK uit angst dat Oracle meer bugs voor de hel zal zetten)

    2.    Nelson zei

      ik ook

  2.   ferchmetaal zei

    Dank je vriend.

  3.   Eduardo zei

    Basisvoorbeeld? Dan wordt het de klassieker:
    klasse: 2 + 2 = 4
    taak: 2 × 3 = 6
    Examen: als Eduardo 20 sinaasappels heeft en hij moet ze over 4 kinderen verdelen, wat is dan het lichaamsgewicht van de kinderen?

    1.    eliotime3000 zei

      1.- Los het probleem op (het belangrijkste en wat echt het langst duurt voor een beginner).
      2.- Vertaal de oplossing naar C ++ (als het die taal is, zullen de nieuwe het in de meeste gevallen opgeven en meer als ze GNU Emacs gebruiken).
      3.- Debug als voorzorgsmaatregel en compileer (het is eigenlijk andersom, maar weinigen doen dat proces).

      PS: Die test is anti-zelfvoldaan / pedant.

  4.   Eduardo zei

    De excuses van de zaak voor de opmerking in drievoud, maar de pagina gaf me een interne serverfout en misschien werd deze daarom bij het opnieuw proberen opnieuw gepost.
    Groeten en bedankt voor de post !!

    1.    eliotime3000 zei

      Geen probleem. Hoe dan ook, ik geef elke nacht commentaar op Chromium voor Windows en ik heb geen problemen van die aard gehad bij het reageren (hoewel ik je aanbeveel om je te registreren, zodat het reactiesysteem je meer fouten zal opleveren dan Windows Millenium).

      1.    eliotime3000 zei

        Ik wilde zeggen: "hoewel ik je aanbeveel om je te registreren, zodat het reactiesysteem je minder fouten oplevert dan Windows Millenium" [errare humanum est].

        1.    pandev92 zei

          haagbeuk lol

  5.   eliotime3000 zei

    Die code is de mooiste C ++ die ik heb gezien (databaseviewer in KISS-stijl).

    Als deze code nu kan worden gecompileerd op Windows met GNU Emacs in combinatie met GCC op Windows (inclusief MySQL / MariaDB), zou dat een mijlpaal zijn.

  6.   ratten doden zei

    C ++ is ongetwijfeld de beste die we hebben, ik heb een onbeperkt aantal tests gedaan over de prestaties en mogelijkheden die het ons biedt en zonder twijfel gaat niets boven het natuurlijk dat ik erken dat het voor sommigen hoofdpijn kan zijn

    1.    eliotime3000 zei

      Ik bewonder die taal, maar het ontbreekt me aan oefening (en genoeg) om het volledig onder de knie te krijgen en zo met Qt een behoorlijke visuele applicatie samen te stellen.

  7.   jamin-samuël zei

    Hoei nee

    Ik heb liever Python

    ????

    1.    ratten doden zei

      Nou, elke gek met zijn themagroeten

    2.    giskard zei

      Uitstekende keuze.

    3.    eliotime3000 zei

      [egoïsme] Lui [/ egoïsme].

  8.   julian zei

    Ik geef de voorkeur aan VB.NET, het is veel eenvoudiger en heeft goede ondersteuning voor SQL Server. Behalve dat het productiever is dan andere talen en een van de meest gevraagde talen bij het zoeken naar werk. Ik wil mijn tijd niet verspillen met C ++

    1.    pandev92 zei

      Als we zo krijgen, is de meest gevraagde meestal de rotzooi van Java.

      1.    eliotime3000 zei

        Het is hetzelfde als VB.NET, maar veel grafischer en het is nutteloos om op GNU / Linux te werken.

  9.   ratten doden zei

    Ik raad alleen de C ++ bc-sonde aan om een ​​eenvoudige verkoop in c ++, python en qt en hekverrassing te maken:
    Python-> 7.6 mb
    Qt -> 27 mb (XD)
    C ++ -> 2.4 mb

    Nou iedereen om zijn eigen conclusies te trekken groeten

    1.    giskard zei

      Python 7.6 MB ??? Echt niet! Onmogelijk. Als ze niets meer zijn dan scripts. Of had je afbeeldingen? Deel de code. Dit is hoe we het allemaal zien en vergelijken. Overtuig ons.

      1.    ratten doden zei

        Je hebt gelijk dat een kleine bug-python geen 7.6 mb verbruikt, maar als 6.2 mb dus vertel het me nu ...
        Dit is de code en ik denk dat deze niet beter kan worden geoptimaliseerd:
        #! / usr / bin / python
        van gi.repository import Gtk

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

        1.    giskard zei

          Ik stel me voor dat je RAM-verbruik bedoelt. Het punt is dat je in Python en in bijna elke taal een asymptotische curve schaalt terwijl je de code ingewikkelder maakt. Alleen voor het testen heb ik een spel gedraaid dat ik aan het ontwikkelen ben met PyGame. Animatie + achtergrondaudio + geluiden voor evenementen en bereikte amper 14 MB. Omdat je programma natuurlijk niet zo eenvoudig zal zijn als een venster, maar complexer, zul je uiteindelijk zien dat, als je genoeg code hebt, grote wijzigingen erin je niet meer RAM-gebruik zullen opleveren.

        2.    giskard zei

          Om te vereenvoudigen wat ik een beetje uitleg: je kunt geen tijdprofiel maken als je geen codesegment een paar duizend keer uitvoert, toch? Welnu, op dezelfde manier kun je niet zien of een taal veel of weinig verbruikt, alleen door naar het eenvoudigst mogelijke voorbeeld te kijken. In feite is het de kunst om naar de meest complexe te kijken die je kunt.

          1.    ratten doden zei

            Welnu, naar mijn mening is op het programmeerniveau 01010111, assembler en dan c, zo onmogelijk dat een taal op hoog niveau zoals Python de prestaties van ac / c ++ overtreft (in alle opzichten) en tja, wat is er beter dan een heel eenvoudig voorbeeld zoals dat van maak een venster om een ​​verschil van 3.8 mb te zien door alleen een eenvoudig venster te tonen, wanneer u belasting toevoegt aan uw programma (een groot programma, dat een goed gewicht heeft met meer dan 5 vormen, en klassen, overerving, polymorfisme, virtuele functies toepast, aanwijzingen en meer om een ​​voorbeeld te geven) Ik verzeker je dat je van gedachten verandert, ik wil duidelijk maken dat ik geen kritiek heb op andere programmeertalen en laat staan ​​op Python voor de cantrario, ik becommentarieer en test met tests alleen de voor- en nadelen die ik zonder aanmoediging met het blote oog zie om groeten te verdiepen

          2.    giskard zei

            Bekijk dit eens:

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

            Maar bekijk de volledige video. Bedrieg niet dat u anders gewoon een mening geeft op basis van vooroordelen.

          3.    giskard zei

            Je begreep me in ieder geval niet. Als u de zaak ingewikkelder maakt, zullen beide ongeveer hetzelfde gewicht hebben. Op de Lazarus-pagina geven ze daarover trouwens een grafiek, Lazarus vergeleken met C.
            Uiteindelijk is alles een relatieve vriend. Omdat de mens niet alleen op RAM leeft.

    2.    eliotime3000 zei

      De QT is tenminste compatibel met de Aqua, Win32 (en hun Aero- en Metro-varianten) interfaces en andere interfaces behalve LXDE (het lijkt op Windows 95 om eerlijk te zijn).

      1.    pandev92 zei

        gtk2 in aqua ziet er goed uit ...