このページでは

SQLプログラミング

この概要では、読者が少なくともSQLの基礎知識を持っていることを前提としています。単純なSELECT 、INSERT 、UPDATE 、およびDELETE ステートメントを理解できる必要があります。QSqlTableModel クラスは、SQLの知識を必要としないデータベースの閲覧および編集のためのインターフェースを提供していますが、SQLの基礎的な理解を強く推奨します。 SQLデータベースに関する標準的な教科書としては、C. J. Date著『An Introduction to Database Systems(第7版)』(ISBN 0201385902)があります。

トピック:

データベースクラス

これらのクラスは、SQL データベースへのアクセスを提供します。

QSql

Qt SQL モジュール全体で使用される各種識別子が含まれています

QSqlDatabase

データベースへの接続を処理します

QSqlDriver

特定のSQLデータベースにアクセスするための抽象基底クラス

QSqlDriverCreator

特定のドライバタイプ用のSQLドライバファクトリを提供するテンプレートクラス

QSqlDriverCreatorBase

SQL ドライバファクトリの基底クラス

QSqlError

SQLデータベースのエラー情報

QSqlField

SQLデータベースのテーブルおよびビュー内のフィールドを操作する

QSqlIndex

データベースインデックスの操作および記述を行う関数

QSqlQuery

SQL文を実行および操作するための手段

QSqlQueryModel

SQL結果セット用の読み取り専用データモデル

QSqlRecord

データベースレコードをカプセル化する

QSqlRelationalTableModel

単一のデータベース・テーブル向けの編集可能なデータモデル(外部キーをサポート)

QSqlResult

特定のSQLデータベースからデータにアクセスするための抽象インターフェース

QSqlTableModel

単一のデータベーステーブル向けの編集可能なデータモデル

SQLクラスは3つの層に分類されます:

ドライバ層

これには、QSqlDriver 、QSqlDriverCreator 、QSqlDriverCreatorBase 、QSqlDriverPlugin 、およびQSqlResult の各クラスが含まれます。

この層は、特定のデータベースとSQL API層との間の低レベルなブリッジを提供します。詳細については、「SQLデータベースドライバ」を参照してください。

SQL API レイヤー

これらのクラスは、データベースへのアクセスを提供します。接続は `QSqlDatabase ` クラスを使用して確立されます。データベースとのやり取りは、`QSqlQuery ` クラスを使用して行われます。`QSqlDatabase ` および `QSqlQuery` に加え、SQL API レイヤーは `QSqlError`、`QSqlField`、`QSqlIndex`、および `QSqlRecord` によってサポートされています。

ユーザーインターフェース層

これらのクラスは、データベースのデータをデータ対応ウィジェットに結びつけます。これには、QSqlQueryModel 、QSqlTableModel 、およびQSqlRelationalTableModel が含まれます。これらのクラスは、Qtのモデル/ビューフレームワークと連携するように設計されています。

なお、これらのクラスのいずれかを使用する前に、QCoreApplication オブジェクトをインスタンス化する必要があります。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.