QT が MYSQL データベースに接続するための詳細な手順

QT が MYSQL データベースに接続するための詳細な手順

最初のステップは、対応するデータベースモジュール(sql)をプロジェクトファイル( .pro )に追加し、いくつかのクラス(対応するヘッダーファイルも)を導入することです。

  • SQL データベースのエラー情報を提供するQSqlErrorクラス
  • QSql QueryはSQL文を実行および操作するためのメソッドを提供します
  • QSql QueryDatabaseはデータベースへの接続を処理します

1. データベース接続

 //MySQL データベースを追加します QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL"); 
        //データベースに接続 db.setHostName("127.0.0.1"); //データベースサーバーのIP
        db.setUserName("root"); //データベースのユーザー名 db.setPassword("root"); //データベースのユーザー名とパスワード db.setDatabaseName("sys"); //データベース名 if(db.open()==false)
        {
            QMessageBox::information(this,"データベースのオープンに失敗しました",db.lastError().text());
            戻る;
        }

失敗した場合は、QT が MySQL データベースに接続するためのライブラリ (libmysql.dll を自分でダウンロード) を必要とし、ライブラリ ファイルを QT インストール ディレクトリ D:\Qt\5.9\mingw53_32\bin (自分のディレクトリに応じて) に置く必要がある可能性があります。私の QT バージョンは 5.9 です。データベースは開いていますか? ユーザーが間違っていますか? このデータベースは存在しますか?

2. テーブルを作成する

QSqlQuery q;
q.exec("create table student(id int primary key auto_increment, name varchar(255), age int, score int)ENGINE=INNODB;");

3. テーブルにデータを挿入する

方法1 (単一行挿入)

q.exec("学生(ID、名前、年齢、スコア)に値(1、'张三'、24、80)を挿入します。");

方法2 (複数行挿入)はODBCスタイルとOracleスタイルに分かれています

1. ODBC スタイル

 q.prepare("insert into student(name, age,score) values(?, ?, ?)"); //? はプレースホルダー QVariantList name です。
   名前<<"素数"<<"待機中"<<"あんあん";
   QVariantList 年齢;
   年齢<<-2<<12<<14;
   QVariantList スコア;
   スコア<<0<<89<<90;
   //対応する値をフィールドに順番にバインドします q.addBindValue(name);
   q.addBindValue(年齢);
   q.addBindValue(スコア);
   //前処理コマンドを実行します q.execBatch();

#include<QVariantList>ヘッダーファイルを追加するには、フィールドを次の順序でバインドする必要があります。

2.オレーススタイルD

//プレースホルダー: + カスタム名 q.prepare("insert into student(name, age,score) values(:n, :a,:s)");
  QVariantList 名;
  名前<<"Quark"<<"Redmi"<<"Hongmeng";
  QVariantList 年齢;
  年齢<<5<<10<<3;
  QVariantList スコア;
  スコア<<77<<89<<99;
  // 次の理由により、フィールドを任意の順序でバインドします: + カスタム名 q.bindValue(":n",name);
  q.bindValue(":s",スコア);
  q.bindValue(":a",年齢);
  //前処理コマンドを実行します q.execBatch();

プレースホルダーの区別により、フィールドの順序は任意になります。

3. テーブルを更新する

QSqlQuery q;
        q.exec("学生を更新し、スコアを76に設定し、名前を'李四'に設定");

4. テーブルを削除する

QSqlQuery q;
        q.exec("delete from student where name='张三'");

5. テーブルをトラバースする

QSqlQuery q;
    q.exec("学生から*を選択");
    while(q.next()) // トラバーサル後は false
    {
        // 添え字付き //qDebug()<<q.value(0).toInt()<<q.value(1).toString()<<q.value(2).toInt() 
        <<q.value(3).toInt();
        //フィールドあり qDebug()<<q.value("id").toInt()<<q.value("name").toString()<<q.value("age").toInt() 
        <<q.value("スコア").toInt();
    }

QT を MYSQL データベースに接続する方法についての記事はこれで終わりです。QT を MYSQL データベースに接続する方法についての関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • PyQt で QtSql を使用して MySql データベースに接続する方法
  • Ubuntu Linux で Qt を使用して MySQL データベースに接続する方法
  • Python3+PyQt5 データベースプログラミング - 追加、削除、変更の例
  • python3+PyQt5 データベーステーブルビューを使用する
  • python3+PyQt5 データベースウィンドウビューを使用する

<<:  LinuxにKafkaをインストールする

>>:  初心者向け入門チュートリアル: ドメイン名の解決とバインディング

推薦する

Typescript での infer キーワードの使用に関する詳細な理解

目次推測する事例:理解を深める参照する後で忘れないように、キーワード infer をメモしておきます...

MySQLへの外部ネットワークアクセスを許可し、MySQLアカウントのパスワードを変更する方法

mysqlのrootアカウント、普段はlocalhostか127.0.0.1で接続しています。会社の...

offsetWidth、clientWidth、scrollWidth、scrollTop、scrollLeft などのプロパティの図。

注 1: 上の画像の背景全体がこの Web ページのフルサイズであり、中央の小さなボックスがブラウザ...

MySQL binlog ログを開く方法

binlog は、すべての mysql dml 操作を記録するバイナリ ログ ファイルです。 bin...

JavaScript の Set データ構造の詳細な説明

目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...

node.jsのコアモジュールとは

目次グローバルオブジェクトグローバルオブジェクトとグローバル変数プロセスコンソール一般的なツールユー...

LinuxにKafkaをインストールする

目次1.1 前提条件としてのJava環境1.2 Zookeeperのインストールと設定1.3 Kaf...

MySQL 8.0.15 で MGR シングル マスターと複数スレーブを構成する方法

1. はじめにMySQL グループ レプリケーション (略して MGR) は文字通り MySQL グ...

CMD で MySQL データベースを操作するときに中国語の文字化けが発生する問題の解決方法

Baiduで検索しました。 。 chcp コマンドを使用して、cmd の文字エンコーディングを 65...

Reactプロジェクトで要素を使用する方法

React プロジェクトで要素フレームワークを使用するのは今回が初めてです。非常に単純な問題に遭遇し...

CSS はスクロールバーを非表示にしてコンテンツをスクロールする効果を実現します (3 つの方法)

フロントエンド開発では、スクロールバーを非表示にしながらスクロールをサポートしなければならないという...

HTML テーブルタグチュートリアル (35): 列間属性 COLSPAN

複雑なテーブル構造では、一部のセルが垂直方向に複数のセルにまたがるため、列間属性 COLSPAN を...

Linux システムに 3 つ以上の Tomcat をインストールする (詳細な手順)

複数のTomcatをインストールする場合は、システムにJDKがインストールされている必要があり、 T...

Windows での MySQL 8.0.16 のインストールと設定方法のグラフィック チュートリアル

この記事は、参考のためにMySQL 8.0.16のインストールグラフィックチュートリアルを記録してい...