CPP (aka C ++) + MySQL

MySQL

Witam wszystkich, tutaj przedstawiam przykład połączenia między C ++ i MySQL w systemie GNU / Linux, oczywiście jest to tylko podstawowy przykład. Przede wszystkim do kompilacji zamierzam użyć G ++ i muszą mieć zainstalowane pakiety libmysql ++ y libmysql ++ - dev . Oto przykład:

#zawierać #zawierać #zawierać 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 << "Inicjalizacja MySQL nie powiodła się"; powrót 1; } connect = mysql_real_connect (connect, "HOST", "USER", "PASWD", "DATA BASE", 0, NULL, 0); if (connect) {cout << "połączenie powiodło się \ n"; } else {cout << "połączenie nie powiodło się \ n"; } MYSQL_RES * res_set; Wiersz MYSQL_ROW; mysql_query (połącz, "wybierz * z danych;"); unsigned int i = 0; res_set = mysql_store_result (połącz); 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" << wiersz [i] << "\ t | \ t" << wiersz [i + 1] << "\ t | \ t" << wiersz [i + 2] << "\ t | \ t" << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; } mysql_close (połącz); return 0; }

Cóż, jeśli nie wiesz, jak skompilować w G ++, oto przykład:

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

Następnie uruchamiasz go i wyglądałoby to tak:

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

Uwaga: możesz go również skompilować za pomocą metody MAKEFILE METHOD.


33 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   pandev92 powiedział

    C ++ ... ten język dawno mnie pokonał ...

    1.    Eliotime3000 powiedział

      Jestem głodny więcej z tym językiem programowania (przejrzystość i możliwości, które oferuje, są niezastąpione).

      1.    pandev92 powiedział

        Nie mówię nie, tylko dlatego, że było to dla mnie bardzo trudne, python lub mono, wydawały się łatwiejsze w użyciu.

        1.    giskard powiedział

          Trzymaj się Pythona. Sprawia, że ​​jesteś bardziej produktywny w krótszym czasie.

        2.    Eliotime3000 powiedział

          Python może być, aby móc poprawiać błędy, które spowalniają programy, takie jak centrum oprogramowania lub Ubiquiti, ale Java, tylko po to, aby zabić czas.

          W rzeczywistości dzięki C ++ mogę lepiej zrozumieć kody (chociaż większość widzi labirynt nieczytelnych kodów) i mogę mieć jasne wyobrażenie o tym, co będzie robić (chociaż Java jest łatwiejsza do zrozumienia kodu za pierwszym razem , Widzę to tak, jakby to był BASIC i, prawdę mówiąc, wolę pracować z OpenJDK zamiast z Java JDK z obawy, że Oracle doda więcej błędów do cholery).

    2.    nelson powiedział

      Ja też

  2.   ferchmetal powiedział

    Dziękuję znajomego.

  3.   Eduardo powiedział

    Podstawowy przykład? Wtedy będzie to klasyk:
    klasa: 2 + 2 = 4
    zadanie: 2 × 3 = 6
    Egzamin: jeśli Eduardo ma 20 pomarańczy i musi je rozdzielić na 4 dzieci, jaka jest masa ciała dzieci?

    1.    Eliotime3000 powiedział

      1. - Rozwiąż problem (najważniejszy i co naprawdę zajmuje nowicjuszowi więcej czasu).
      2.- Przetłumacz rozwiązanie na C ++ (jeśli jest to ten język, nowe w większości przypadków podadzą, a więcej, jeśli użyją GNU Emacs).
      3.- Debuguj jako środek ostrożności i kompiluj (w rzeczywistości jest odwrotnie, ale niewielu robi ten proces).

      PS: Ten test jest anty-zadowolony / pedantyczny.

  4.   Eduardo powiedział

    Przepraszamy za komentarz w trzech egzemplarzach, ale strona dała mi wewnętrzny błąd serwera i być może z tego powodu, podczas ponownej próby, została ponownie opublikowana.
    Pozdrawiamy i dziękujemy za post !!

    1.    Eliotime3000 powiedział

      Nie ma problemu. Zresztą komentuję co wieczór na Chromium dla Windowsa i nie miałem żadnych problemów tego rodzaju przy komentowaniu (chociaż polecam zarejestrować się, aby system komentarzy wyrzucał Ci więcej błędów niż Windows Millenium).

      1.    Eliotime3000 powiedział

        Chciałem powiedzieć: „chociaż zalecam rejestrację, aby system komentarzy wyrzucał mniej błędów niż Windows Millenium” [errare humanum est].

        1.    pandev92 powiedział

          karpia LOL

  5.   Eliotime3000 powiedział

    Ten kod to najpiękniejszy C ++, jaki widziałem (przeglądarka bazy danych w stylu KISS).

    Teraz, jeśli ten kod można skompilować w systemie Windows przy użyciu GNU Emacs w połączeniu z GCC w systemie Windows (z dołączonym MySQL / MariaDB), byłby to kamień milowy.

  6.   zabić szczura powiedział

    Bez wątpienia c ++ to najlepsze, co mamy, zrobiłem nieograniczoną liczbę testów dotyczących wydajności i możliwości, które nam oferuje i bez wątpienia nic go nie przewyższa, oczywiście zdaję sobie sprawę, że dla niektórych może to być ból głowy

    1.    Eliotime3000 powiedział

      Podziwiam ten język, ale brakuje mi praktyki (i wystarczającej), aby móc go w pełni opanować, a tym samym stworzyć przyzwoitą wizualną aplikację z Qt.

  7.   jamin samuel powiedział

    Huy nie

    Wolę Pythona

    ????

    1.    zabić szczura powiedział

      Cóż, każdy szaleniec ze swoim motywem pozdrowienia

    2.    giskard powiedział

      Świetny wybór.

    3.    Eliotime3000 powiedział

      [egoizm] Leniwy [/ samolubstwo].

  8.   juliański powiedział

    Wolę VB.NET, jest dużo łatwiejszy i ma dobre wsparcie dla SQL Server. Oprócz tego, że jest bardziej produktywny niż inne języki i jest jednym z najbardziej poszukiwanych podczas szukania pracy. Nie chcę tracić czasu na C ++

    1.    pandev92 powiedział

      Jeśli tak się stanie, najczęściej żądane są bzdury Javy.

      1.    Eliotime3000 powiedział

        Jest taki sam jak VB.NET, ale dużo bardziej graficzny i nie ma sensu pracować w systemie GNU / Linux.

  9.   zabić szczura powiedział

    Polecam tylko sondę C ++ bc stworzyć prostą sprzedaż w c ++, pythonie i qt oraz niespodziankę:
    Python-> 7.6 MB
    Qt -> 27 mb (XD)
    C ++ -> 2.4 MB

    Cóż, każdy kto wyciągnie własne wnioski pozdrawiam

    1.    giskard powiedział

      Python 7.6 MB ??? Nie ma mowy! Niemożliwy. Jeśli to nic innego jak skrypty. A może miałeś zdjęcia? Udostępnij kod. Tak to wszyscy widzimy i porównujemy. Przekonaj nas.

      1.    zabić szczura powiedział

        Masz rację, mały błąd Python nie zużywał 7.6 MB, ale jeśli 6.2 MB, to co teraz powiesz ...
        To jest kod i myślę, że nie można go bardziej zoptymalizować:
        #! / usr / bin / python
        z gi.repository import Gtk

        win = Gtk.Window ()
        win.connect ("usuń-zdarzenie", Gtk.main_quit)
        win.show_all ()
        Gtk.main ()

        1.    giskard powiedział

          Wyobrażam sobie, że masz na myśli zużycie pamięci RAM. Chodzi o to, że w Pythonie i prawie każdym języku skalujesz asymptotyczną krzywą, gdy komplikujesz kod. Tylko do testów uruchomiłem grę, którą tworzę w PyGame. Animacja + dźwięk w tle + dźwięki wydarzeń i ledwo osiągnął 14 MB. Ponieważ oczywiście twój program nie będzie tak prosty jak okno, ale bardziej złożony, na końcu zobaczysz, że gdy masz wystarczającą ilość kodu, duże modyfikacje w nim nie przyniosą większego wzrostu wykorzystania pamięci RAM.

        2.    giskard powiedział

          Aby uprościć to, co ci trochę pokazuję: nie możesz stworzyć profilu czasowego, jeśli nie uruchomisz segmentu kodu kilka tysięcy razy, prawda? Cóż, podobnie nie można stwierdzić, czy język pochłania dużo, czy mało, po prostu patrząc na najprostszy możliwy przykład. W rzeczywistości cała sztuka polega na tym, aby wyglądać na tak złożoną, jak tylko możesz.

          1.    zabić szczura powiedział

            Cóż, w moim rozumieniu na poziomie programowania to 01010111, asembler, a następnie c, tak niemożliwe, że język wysokiego poziomu, taki jak Python, przewyższa ac / c ++ w wydajności (pod każdym względem) i cóż, co lepszego niż bardzo prosty przykład utwórz okno, aby zobaczyć różnicę 3.8 MB w wyświetlaniu tylko prostego okna, gdy dodajesz load do swojego programu (duży program, który ma dobrą wagę z więcej niż 5 formularzami i stosuje klasy, dziedziczenie, polimorfizm, funkcje wirtualne, wskaźniki i nie tylko dla przykładu) zapewniam, że zmienisz zdanie, chcę jasno powiedzieć, że nie krytykuję innych języków programowania i znacznie mniej Pythona do cantrario, tylko komentuję i testuję testami zalety i wady, które widzę gołym okiem bez zachęty pogłębić pozdrowienia

          2.    giskard powiedział

            Sprawdź to:

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

            Ale obejrzyj cały film. Nie oszukuj, że inaczej po prostu wydasz opinię opartą na uprzedzeniach.

          3.    giskard powiedział

            W każdym razie mnie nie zrozumiałeś. Gdy skomplikujesz sprawę, oba będą miały mniej więcej taką samą wagę. Nawiasem mówiąc, na stronie Lazarus podają wykres, porównując Lazarus z C.
            W końcu wszystko jest względnym przyjacielem. Ponieważ człowiek nie żyje tylko z pamięci RAM.

    2.    Eliotime3000 powiedział

      Przynajmniej QT jest kompatybilny z interfejsami Aqua, Win32 (i ich wariantami Aero i Metro) oraz innymi interfejsami z wyjątkiem LXDE (szczerze mówiąc wygląda na Windows 95).

      1.    pandev92 powiedział

        gtk2 w aqua wygląda dobrze ...