CPP(別名C ++)+ MySQL

MySQL

皆さん、こんにちは。ここでは、GNU/Linux における C++ と MySQL 間の接続がどのようなものであるかを示す例を紹介します。もちろん、これは単なる基本的な例です。 まずコンパイルするには G++ を使用します。パッケージがインストールされている必要があります。 libmysql++ y libmysql++-dev 。 さて、ここに例があります:

#含む#含む#含む名前空間 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 (connect) { cout<<"接続が成功しました\n"; } else { cout<<"接続に失敗しました\n"; MYSQL_RES *res_set; MYSQL_ROW 行; mysql_query(connect,"データから * を選択;"); 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 | ジョン | 56 | --------------------------------------

注: MAKEFILE メソッドを使用してコンパイルすることもできます。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   パンデブ92

    C++…、その言語はずっと前に私を打ち負かしました…

    1.    エリオタイム3000

      私はこのプログラミング言語をもっと使いたいと思っています (このプログラミング言語が提供する明快さと可能性はかけがえのないものです)。

      1.    パンデブ92

        否定しているわけではありません。私にとっては非常に難しかったので、Python または Mono の方が使いやすかったのです。

        1.    ギスカード

          Python を使い続けてください。 より短い時間で生産性が向上します。

        2.    エリオタイム3000

          Python は、ソフトウェア センターや Ubiquiti のようなプログラムの速度を低下させるバグを修正できるようにするためのものかもしれませんが、Java は単なる時間を潰すためのものかもしれません。

          実際、C++ を使用すると、コードをよりよく理解できるようになり (ほとんどの場合、読めないコードの迷路に見えますが)、それが何を行うのかについて明確な概念を得ることができます (ただし、一目見ただけでは Java の方がコードを理解するのが簡単です)。私はこれを BASIC であるかのように考えています。実を言うと、Oracle がさらにひどいバグを導入することを恐れて、Java JDK ではなく OpenJDK を使用することを好みます)。

    2.    ネルソン

      私も

  2.   フェルチメタル

    あなたの友人に感謝。

  3.   エドゥアルド

    基本的な例? それからそれは古典的になります:
    クラス: 2+2 = 4
    タスク: 2×3=6
    クイズ: エドゥアルドが 20 個のオレンジを持っていて、それを 4 人の子供たちに分配しなければならない場合、子供たちの体重はいくらですか?

    1.    エリオタイム3000

      1.- 問題を解決します(小説にとって最も重要なこと、そして本当に時間がかかること)。
      2.- ソリューションを C++ に翻訳します (C++ 言語の場合、初心者はほとんどの場合、特に GNU Emacs を使用している場合は諦めます)。
      3.- 予防策としてデバッグしてコンパイルします (実際にはその逆ですが、そのプロセスを行う人はほとんどいません)。

      PS: その試験は反独善的/衒学的です。

  4.   エドゥアルド

    三重のコメントについては申し訳ありませんが、ページで内部サーバー エラーが発生し、おそらくこの理由で再試行すると、再度投稿されました。
    ご挨拶と投稿ありがとうございます!!

    1.    エリオタイム3000

      問題ない。 とにかく、私は Windows 用の Chromium に毎晩コメントしていますが、コメント時にこの種の問題は発生していません (ただし、コメント システムが Windows Millenium よりも多くのエラーをスローするように登録することをお勧めします)。

      1.    エリオタイム3000

        私が言いたかったのは、「ただし、コメント システムが Windows Millenium よりも少ないエラーをスローするように登録することをお勧めします」[errare humanum est]。

        1.    パンデブ92

          シデ笑

  5.   エリオタイム3000

    このコードは、C++ (KISS スタイルのデータベース ビューア) に関して私が見た中で最も美しいものです。

    さて、Windows 上の GCC (MySQL/MariaDB を含む) と組み合わせて GNU Emacs を使用して、このコードを Windows 上でコンパイルできれば、それはマイルストーンとなるでしょう。

  6.   ラタキル

    間違いなく、C++ は私たちが持っている中で最高のものです。私は C++ が提供するパフォーマンスと可能性について無制限のテストを行ってきましたが、間違いなく C++ を超えるものはありません。もちろん、一部の人にとっては頭痛の種になる可能性があることは承知しています。

    1.    エリオタイム3000

      私はその言語に感心していますが、それを完全にマスターして Qt を使用してまともなビジュアル アプリケーションを構築できるようにするには (そして十分な) 練習が足りません。

  7.   ジャミンサミュエル

    なんてこった

    私はパイソンの方が好きです

    ????

    1.    ラタキル

      さて、それぞれの狂人たち、それぞれのテーマで、ご挨拶

    2.    ギスカード

      素晴らしい選択。

    3.    エリオタイム3000

      [わがまま]曖昧[/わがまま]。

  8.   ジュリアン

    私は VB.NET の方が好きです。VB.NET の方がはるかに簡単で、SQL Server のサポートも充実しています。 他の言語よりも生産性が高いことに加えて、仕事を探すときに最も要求される言語の XNUMX つです。 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.    ギスカード

      Python 7.6MB? とんでもない! 不可能。 それらが単なるスクリプトにすぎない場合。 それとも写真はありましたか? コードを共有します。 これが私たち全員がそれを見て比較する方法です。 私たちを説得してください。

      1.    ラタキル

        おっしゃるとおり、Python の小さなバグは 7.6 MB を消費しませんでしたが、6.2 MB を消費しました。それで今、何が言えるでしょうか...
        これはコードですが、これ以上最適化することはできないと思います。
        #!/ usr / bin / python
        gi.repository importGtkから

        win = Gtk.Window()
        win.connect("イベントの削除", Gtk.main_quit)
        win.show_all()
        Gtk.main()

        1.    ギスカード

          RAMの消費量を意味していると思います。 重要なのは、Python とほとんどすべての言語では、コードを複雑にするにつれて漸近曲線をスケールするということです。 試しに、PyGame で開発しているゲームを実行してみました。 アニメーション+背景音声+イベント音で14MBにギリギリ届きました。 プログラムは明らかに小さなウィンドウほど単純ではなく、より複雑になるため、十分なコードがあれば、コードを大幅に変更しても RAM 使用量が大幅に増加するわけではないことが最終的にわかります。

        2.    ギスカード

          私が言いたいことを少し単純化すると、コード セグメントを数千回実行しない限り、時間プロファイルを作成することはできません。 同様に、最も単純な例を見ただけでは、言語の消費量が多いか少ないかはわかりません。 実際、その秘訣は、できるだけ複雑なものに注目することです。

          1.    ラタキル

            そうですね、私の理解では、プログラミング レベルでは 01010111、アセンブラー、そして c があり、Python のような高級言語では (あらゆる意味で) ac/c++ よりもパフォーマンスが優れていることはあり得ません。非常に単純な例よりも優れたものはありません。ウィンドウの作成の場合と同様に、プログラム (3.8 つを超えるフォームで適切な重みを持つ大規模なプログラム) に負荷を追加し、クラス、継承、ポリモーフィズム、仮想関数、ポインタなどを例に挙げます) あなたの気が変わることを保証します。私は他のプログラミング言語を批判していません、ましてやその逆の Python を批判していないと宣言したいと思います。私はコメントしてテストでテストするだけです挨拶を深めようと促されずに肉眼で見たメリットとデメリット

          2.    ギスカード

            これをチェックしてください:

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

            ただし、ビデオ全体を見てください。 不正行為をしないでください。そうしないと、単に偏見に基づいて意見を言うことになります。

          3.    ギスカード

            いずれにせよ、あなたは私のことを理解していませんでした。 問題を複雑にすると、両方の重みがほぼ同じになります。 ちなみに、Lazarus のページでは、Lazarus と C を比較したグラフが示されています。
            結局のところ、すべては親戚の友人です。 人間はRAMだけで生きているわけではないからです。

    2.    エリオタイム3000

      少なくとも QT は、Aqua インターフェイス、Win32 (およびその Aero および Metro バリアント)、および LXDE を除く他のインターフェイス (正直に言うと Windows 95 のように見えます) と互換性があります。

      1.    パンデブ92

        アクアのgtk2はいい感じですね…