最初のステップは、対応するデータベースモジュール(sql)をプロジェクトファイル( .pro )に追加し、いくつかのクラス(対応するヘッダーファイルも)を導入することです。
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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: 初心者向け入門チュートリアル: ドメイン名の解決とバインディング
目次推測する事例:理解を深める参照する後で忘れないように、キーワード infer をメモしておきます...
mysqlのrootアカウント、普段はlocalhostか127.0.0.1で接続しています。会社の...
注 1: 上の画像の背景全体がこの Web ページのフルサイズであり、中央の小さなボックスがブラウザ...
binlog は、すべての mysql dml 操作を記録するバイナリ ログ ファイルです。 bin...
目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...
目次グローバルオブジェクトグローバルオブジェクトとグローバル変数プロセスコンソール一般的なツールユー...
前提条件: content="width=750" <meta name=...
目次1.1 前提条件としてのJava環境1.2 Zookeeperのインストールと設定1.3 Kaf...
1. はじめにMySQL グループ レプリケーション (略して MGR) は文字通り MySQL グ...
Baiduで検索しました。 。 chcp コマンドを使用して、cmd の文字エンコーディングを 65...
React プロジェクトで要素フレームワークを使用するのは今回が初めてです。非常に単純な問題に遭遇し...
フロントエンド開発では、スクロールバーを非表示にしながらスクロールをサポートしなければならないという...
複雑なテーブル構造では、一部のセルが垂直方向に複数のセルにまたがるため、列間属性 COLSPAN を...
複数のTomcatをインストールする場合は、システムにJDKがインストールされている必要があり、 T...
この記事は、参考のためにMySQL 8.0.16のインストールグラフィックチュートリアルを記録してい...