最初のステップは、対応するデータベースモジュール(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. Compose の紹介Compose は、マルチコンテナ Docker アプリケーションを定義...
目次MySQL の 4 つの分離レベルデータ テーブルを作成します。分離レベルの設定物事の分離レベル...
Zabbix サーバー環境プラットフォームバージョン: ZABBIX バージョン 4.4システム:...
序文ページの HTML 構造にネストされたボックスが多数含まれている場合、ページに複数の垂直スクロー...
折りたたまれたヘッダーは、特別オファーや重要なお知らせなど、ユーザーにとって重要な情報を表示するのに...
序文新しい VPS を購入しました。新しい VPS のデータ ディスクはデフォルトではシステムにマウ...
無料ポイントインタビュアー:Linuxを使ったことはありますか?私:はいインタビュアー:メモリ使用量...
MySQL 5.7 バージョン:方法1: SET PASSWORDコマンドを使用するフォーマット: ...
SQL クエリ ステートメントの実行順序は次のとおりです。 (7)選択 (8) DISTINCT &...
序文最近、X 省のコールド チェーン トレーサビリティ システムの開発で忙しくしています。毎日午後 ...
インストール手順1. 仮想マシンを作成する 2. [カスタム(詳細)]を選択し、[次へ]をクリックし...
「読み取り専用」と「無効」はどちらも、ユーザーがフォーム フィールドの内容を変更できないようにしま...
<br />原文: http://blog.rexsong.com/?p=1166ウェブ...
目次1. プロトタイプ2. プロトタイプポインタ: __proto__要約する1. プロトタイプJa...
目次1. イベントのリスニング2. イベントパラメータを渡す3. イベント修飾子ケース1: クリック...