CPP (일명 C ++) + MySQL

MySQL의

안녕하세요 여러분, 여기서는 C ++와 MySQL 간의 연결이 GNU / Linux에서 어떻게 이루어지는 지에 대한 예를 보여 드리겠습니다. 물론 이것은 기본적인 예일뿐입니다. 우선 컴파일을 위해 G ++를 사용할 것이며 패키지가 설치되어 있어야합니다. libmysql ++ y libmysql ++-개발 . 여기에 예가 있습니다.

#포함 #포함 #포함 네임 스페이스 std 사용; #define SERVER "HOST"#define USER "USR"#define PASSWORD "PSWD"#define DATABASE "example"int main () {MYSQL * connect; 연결 = mysql_init (NULL); if (! connect) {cout << "MySQL 초기화 실패"; 반환 1; } connect = mysql_real_connect (connect, "HOST", "USER", "PASWD", "DATA BASE", 0, NULL, 0); if (연결) {cout << "연결 성공 \ n"; } else {cout << "연결 실패 \ n"; } MYSQL_RES * res_set; MYSQL_ROW 행; mysql_query (connect, "select * from data;"); unsigned int i = 0; res_set = mysql_store_result (연결); 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"<< row [i] << "\ t | \ t"<< row [i + 1] << "\ t | \ t"<< row [i + 2] << "\ t | \ t"<< endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; } mysql_close (연결); 반환 0; }

글쎄, 만약 당신이 G ++로 컴파일하는 방법을 모른다면 이것은 예입니다 :

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

그런 다음 실행하면 다음과 같이 표시됩니다.

------------------------------------- | 1 | 카르멘 | 46 | ------------------------------------- | 2 | Juan | 56 | --------------------------------------

참고 : MAKEFILE METHOD를 사용하여 컴파일 할 수도 있습니다.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   판데브92

    C ++ ... 그 언어는 오래 전에 나를 패배 시켰습니다 ...

    1.    엘리오타임3000

      나는 그 프로그래밍 언어로 더 많은 것을 갈망하고있다 (제공하는 명확성과 가능성은 대체 할 수 없다).

      1.    판데브92

        저는 아니오라고 말하는 것이 아닙니다. 파이썬이든 모노이든 저에게 매우 어려웠 기 때문에 사용하기가 더 쉬워 보였습니다.

        1.    Giskard

          파이썬을 고수하십시오. 짧은 시간에 생산성을 높일 수 있습니다.

        2.    엘리오타임3000

          Python은 소프트웨어 센터 또는 Ubiquiti와 같은 프로그램을 느리게하는 버그를 수정할 수 있지만 Java는 시간을 죽일 수 있습니다.

          사실, C ++를 사용하면 코드를 더 잘 이해할 수 있고 (대부분 읽을 수없는 코드의 미로를 볼 수 있지만) 수행 할 작업에 대한 명확한 개념을 가질 수 있습니다 (Java가 처음에는 코드를 이해하는 것이 더 쉬울지라도). 나는 그것이 BASIC 인 것처럼보고 진실을 말하기 위해 Oracle이 더 많은 버그를 넣을 것이라는 두려움 때문에 Java JDK 대신 OpenJDK로 작업하는 것을 선호합니다.)

    2.    넬슨

      나도

  2.   Ferchmetal

    당신에게 친구를 주셔서 감사합니다.

  3.   Eduardo

    기본 예? 그런 다음 고전이 될 것입니다.
    클래스 : 2 + 2 = 4
    작업 : 2 × 3 = 6
    시험 : Eduardo가 오렌지 20 개를 가지고 있고 4 명의 아이들에게 나누어야한다면 아이들의 체질량은 얼마입니까?

    1.    엘리오타임3000

      1.- 문제를 해결하십시오 (가장 중요한 것 및 초보자에게 더 오래 걸리는 것).
      2.- 솔루션을 C ++로 번역합니다 (해당 언어 인 경우 새 언어는 대부분의 경우 포기하고 GNU Emacs를 사용하면 더 많이 포기합니다).
      3.- 예방 조치로 디버그하고 컴파일합니다 (실제로는 그 반대이지만 그 과정을하는 사람은 거의 없습니다).

      추신 : 그 테스트는 안티 스 머그 / 현학적 인 것입니다.

  4.   Eduardo

    XNUMX 중 댓글에 대한 사례에 대해 사과했지만 페이지에서 내부 서버 오류가 발생했으며이 때문에 재 시도 할 때 다시 게시되었습니다.
    게시물에 대한 인사와 감사합니다!

    1.    엘리오타임3000

      문제 없어요. 어쨌든, 저는 Windows 용 Chromium nightly에 대해 댓글을 달고 있으며 댓글을 달 때 그런 성격의 문제가 없었습니다 (댓글 시스템이 Windows Millenium보다 더 많은 오류를 발생시킬 수 있도록 등록하는 것이 좋습니다).

      1.    엘리오타임3000

        "댓글 시스템이 Windows Millenium보다 오류를 덜 발생시킬 수 있도록 등록하는 것이 좋지만"[정오표 검색].

        1.    판데브92

          카르페 듐 LOL

  5.   엘리오타임3000

    그 코드는 내가 본 것 중 가장 아름다운 C ++ (KISS 스타일 데이터베이스 뷰어)입니다.

    이제이 코드를 Windows의 GCC (MySQL / MariaDB 포함)와 함께 GNU Emacs를 사용하여 Windows에서 컴파일 할 수 있다면 이정표가 될 것입니다.

  6.   라 따킬

    의심 할 여지없이 C ++는 우리가 가진 최고입니다. 저는 그것이 우리에게 제공하는 성능과 가능성에 대해 무제한의 테스트를 수행했으며 의심 할 여지없이 그것을 능가하는 것은 없습니다.

    1.    엘리오타임3000

      나는 그 언어를 존경하지만, 그것을 완전히 마스터 할 수있을만큼 연습이 부족하고 따라서 Qt와 함께 괜찮은 시각적 응용 프로그램을 결합 할 수 있습니다.

  7.   자민 사무엘

    Huy 아니

    나는 파이썬을 선호한다

    ????

    1.    라 따킬

      그의 주제 인사를 가진 모든 미치광이

    2.    Giskard

      훌륭한 선택입니다.

    3.    엘리오타임3000

      [이기심] 게으른 [/ 이기심].

  8.   줄리안

    저는 VB.NET을 선호합니다. 훨씬 쉽고 SQL Server를 잘 지원합니다. 다른 언어보다 생산성이 높고 일자리를 찾을 때 가장 많이 요청되는 언어 중 하나입니다. C ++로 시간 낭비하고 싶지 않습니다.

    1.    판데브92

      이렇게 말하면 가장 많이 요청되는 것은 일반적으로 Java의 쓰레기입니다.

      1.    엘리오타임3000

        VB.NET과 동일하지만 훨씬 더 그래픽 적이며 GNU / Linux에서 작업하는 것은 쓸모가 없습니다.

  9.   라 따킬

    나는 C ++ bc 프로브 만 C ++, python 및 qt로 간단한 판매를 만들고 놀람을 울타리하는 것이 좋습니다.
    Python-> 7.6MB
    Qt-> 27MB (XD)
    C ++-> 2.4MB

    자신의 결론을 내리는 모든 사람은 인사합니다.

    1.    Giskard

      Python 7.6MB ??? 절대 안돼! 불가능한. 그들이 스크립트에 불과하다면. 아니면 이미지가 있었나요? 코드를 공유하십시오. 이것이 우리 모두가 그것을보고 비교하는 방법입니다. 우리를 설득하십시오.

      1.    라 따킬

        당신은 맞습니다 작은 버그 파이썬이 7.6MB를 소비하지 않았지만 6.2MB라면 지금 알려주십시오 ...
        이것은 코드이며 더 최적화 할 수 없다고 생각합니다.
        #! / usr / bin / python
        gi.repository에서 가져 오기 Gtk

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

        1.    Giskard

          RAM 소비를 의미한다고 생각합니다. 문제는 Python과 거의 모든 언어에서 코드를 복잡하게 만들면서 점근 곡선을 확장한다는 것입니다. 테스트를 위해 PyGame으로 개발중인 게임을 실행했습니다. 애니메이션 + 배경 오디오 + 이벤트 사운드는 14MB에 거의 도달하지 않았습니다. 분명히 여러분의 프로그램은 창만큼 단순하지는 않지만 더 복잡 할 것입니다. 결국에는 충분한 코드를 가지고있을 때 큰 수정으로 인해 RAM 사용이 더 많이 증가하지 않을 것입니다.

        2.    Giskard

          제가 보여 드리는 것을 단순화하기 위해 : 코드 세그먼트를 수천 번 실행하지 않으면 시간 프로필을 만들 수 없습니다. 글쎄요, 같은 방식으로, 가능한 가장 간단한 예를 보는 것만으로는 언어가 많이 소비하는지 아니면 조금 소비하는지 알 수 없습니다. 사실, 비결은 최대한 복잡하게 보이는 것입니다.

          1.    라 따킬

            제 생각에는 프로그래밍 수준에서이 01010111, 어셈블러, 그리고 c, 파이썬과 같은 고급 언어가 (모든면에서) 성능면에서 ac / c ++를 능가하는 것은 불가능합니다. 프로그램에로드를 추가 할 때 (3.8 개 이상의 형식으로 가중치가 높은 대형 프로그램, 클래스, 상속, 다형성을 적용 할 때 단순한 창을 표시하는 데 5MB의 차이를 확인하는 창을 만드는 것입니다. 가상 함수, 포인터 등을 예로들 수 있습니다) 의견을 바꾸실 것임을 확신합니다. 다른 프로그래밍 언어를 비판하지 않고 칸트 라 리오에 대한 Python을 훨씬 덜 비판하지 않는다는 점을 분명히하고 싶습니다. 인사를 심화시키려는 격려없이 육안으로 보는 장단점을 테스트

          2.    Giskard

            이것 좀 봐:

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

            그러나 전체 비디오를보십시오. 편견에 근거한 의견을 제시 할 것이라고 속임수를 쓰지 마십시오.

          3.    Giskard

            어쨌든 당신은 나를 이해하지 못했습니다. 문제를 복잡하게 만들면 둘 다 같은 무게를 갖게 될 것입니다. 라자루스 페이지에서 그들은 라자루스와 C를 비교하면서 그것에 대한 그래프를 제공합니다.
            결국 모든 것이 상대적인 친구입니다. 사람은 RAM에만 살지 않기 때문입니다.

    2.    엘리오타임3000

      적어도 QT는 Aqua, Win32 (및 Aero 및 Metro 변형) 인터페이스 및 LXDE를 제외한 기타 인터페이스와 호환됩니다 (솔직히 말하자면 Windows 95처럼 보입니다).

      1.    판데브92

        아쿠아의 gtk2가 좋아 보인다 ...