最初のステップは、対応するデータベースモジュール(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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: 初心者向け入門チュートリアル: ドメイン名の解決とバインディング
1. デフォルトのポート8080に加えて、ドメイン名のアクセスとserver.xmlのオープンにポー...
恥ずかしながら、このようなよく使われるチェックボックスのスタイルを変更するために、Baidu で長い...
開発中にこのような問題に遭遇しましたビデオ視聴記録が 100 に更新されると、視聴されたことを意味し...
目次1. シーン紹介2 コードの最適化2.1 ファンを増やす問題を解決する2.2 作品追加の問題を解...
目次概要フレームワークを選択する理由は何ですか? js のエンバーEmber.js と Vue.js...
オペレーティングシステム: Windows10 MySQL バージョン: 8.0.13-winx64...
最近、仕事でサウンド ファイルを再生するために Web ページにプレーヤーを埋め込む必要に迫られまし...
要件は次のとおりですテーブル構造、フィールドコメント情報、テーブル名などをエクスポートします。これは...
相対的な長さの単位それら説明: 相対的な長さの単位。現在のオブジェクト内のテキストのフォント サイズ...
1.MySQLの複数インスタンスMySQL マルチインスタンスとは、1 台以上のマシン上で複数の M...
MySQLの自動増分主キーIDは段階的に増加しません1. はじめにMySQL データベースにデータを...
ファイル サーバーは、企業内で最も一般的に使用されるサーバーの一つであり、主にファイル共有を提供する...
目次1. Dockerイメージ2. 既存のイメージに基づいてインスタンスを作成する3. ローカルテン...
目次1. 条件付きアクセス属性2. アロー関数の紹介1. 条件付きアクセス属性?. は ES2020...
目次1. ElementUIで基本的なスタイルを構築する2. [送信]ボタンをクリックして、アカウン...