QSqlRecord Class
QSqlRecord クラスはデータベースレコードをカプセル化します。詳細...
ヘッダ: | #include <QSqlRecord> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Sql) target_link_libraries(mytarget PRIVATE Qt6::Sql) |
qmake: | QT += sql |
継承元: |
- 継承されたメンバを含むすべてのメンバのリスト
- QSqlRecord はデータベースクラスおよび暗黙的に共有されるクラスの一部です。
パブリック関数
QSqlRecord() | |
QSqlRecord(const QSqlRecord &other) | |
(since 6.6) | QSqlRecord(QSqlRecord &&other) |
~QSqlRecord() | |
void | append(const QSqlField &field) |
void | clear() |
void | clearValues() |
bool | contains(QAnyStringView name) const |
int | count() const |
QSqlField | field(int index) const |
QSqlField | field(QAnyStringView name) const |
QString | fieldName(int index) const |
int | indexOf(QAnyStringView name) const |
void | insert(int pos, const QSqlField &field) |
bool | isEmpty() const |
bool | isGenerated(int index) const |
bool | isGenerated(QAnyStringView name) const |
bool | isNull(int index) const |
bool | isNull(QAnyStringView name) const |
QSqlRecord | keyValues(const QSqlRecord &keyFields) const |
void | remove(int pos) |
void | replace(int pos, const QSqlField &field) |
void | setGenerated(QAnyStringView name, bool generated) |
void | setGenerated(int index, bool generated) |
void | setNull(int index) |
void | setNull(QAnyStringView name) |
void | setValue(int index, const QVariant &val) |
void | setValue(QAnyStringView name, const QVariant &val) |
(since 6.6) void | swap(QSqlRecord &other) |
QVariant | value(int index) const |
QVariant | value(QAnyStringView name) const |
bool | operator!=(const QSqlRecord &other) const |
(since 6.6) QSqlRecord & | operator=(QSqlRecord &&other) |
QSqlRecord & | operator=(const QSqlRecord &other) |
bool | operator==(const QSqlRecord &other) const |
詳細説明
QSqlRecord クラスは、データベースレコード(通常はデータベース内のテーブルまたはビューの行)の機能と特性をカプセル化します。QSqlRecord はフィールドの追加と削除、およびフィールド値の設定と取得をサポートしています。
レコードのフィールドの値は、setValue() を使用して名前または位置で設定できます。フィールドを NULL に設定する場合は、setNull() を使用します。名前でフィールドの位置を調べるにはindexOf() を、特定の位置のフィールド名を調べるにはfieldName() を使用する。指定したフィールドのQSqlField オブジェクトを取得するには、field() を使用します。レコードに特定のフィールド名が含まれているかどうかを調べるにはcontains() を使用します。
データベース上で実行されるクエリが生成されると、isGenerated() が真であるフィールドのみが生成された SQL に含まれます。
レコードには、append() またはinsert() でフィールドを追加し、replace() で置換し、remove() で削除することができます。すべてのフィールドはclear() で削除できる。フィールドの数はcount() で指定する。clearValues() を使用すると、すべてのフィールドの値をクリア(NULLに)できる。
QSqlField およびQSqlQuery::record()も参照 。
メンバ関数のドキュメント
QSqlRecord::QSqlRecord()
空のレコードを構築する。
isEmpty()、append() およびinsert()も参照 。
QSqlRecord::QSqlRecord(const QSqlRecord &other)
other のコピーを構築します。
QSqlRecord は暗黙的に共有されます。つまり、一定の時間でレコードのコピーを作成できます。
[noexcept, since 6.6]
QSqlRecord::QSqlRecord(QSqlRecord &&other)
other から新しい QSqlRecord を構築します。
注意: 移動元のオブジェクトother は部分的に形成された状態に置かれ、この状態では有効な操作は破壊と新しい値の割り当てのみです。
この関数は Qt 6.6 で導入されました。
[noexcept]
QSqlRecord::~QSqlRecord()
オブジェクトを破棄し、割り当てられたリソースを解放する。
void QSqlRecord::append(const QSqlField &field)
フィールドfield のコピーをレコードの最後に追加する。
insert()、replace()、remove()も参照のこと 。
void QSqlRecord::clear()
レコードのすべてのフィールドを削除する。
clearValues() およびisEmpty()も参照 。
void QSqlRecord::clearValues()
レコード内のすべてのフィールドの値をクリアし、各フィールドを NULL に設定する。
setValue()も参照 。
bool QSqlRecord::contains(QAnyStringView name) const
レコード内にname というフィールドがあればtrue
を返し、なければfalse
を返す。
注意: Qt 6.8 より前のバージョンでは、この関数はQAnyStringView ではなくQString を取っていました。
int QSqlRecord::count() const
レコードのフィールド数を返します。
isEmpty()も参照 。
QSqlField QSqlRecord::field(int index) const
位置index にあるフィールドを返す。index が範囲外の場合、関数はデフォルトで構成された値を返します。
QSqlField QSqlRecord::field(QAnyStringView name) const
これはオーバーロードされた関数である。
name というフィールドを返します。name というフィールドが見つからない場合、この関数はデフォルトで構成された値を返します。
注意: Qt 6.8 より前のバージョンでは、この関数はQAnyStringView ではなくQString を取っていました。
QString QSqlRecord::fieldName(int index) const
位置index にあるフィールドの名前を返す。フィールドが存在しない場合は、空の文字列が返されます。
indexOf()も参照 。
int QSqlRecord::indexOf(QAnyStringView name) const
レコード内のname というフィールドの位置、または見つからない場合は -1 を返します。フィールド名は大文字と小文字を区別しない。複数のフィールドが一致する場合は、最初のフィールドが返されます。
注意: Qt 6.8 より前のバージョンでは、この関数はQAnyStringView ではなくQString を取っていました。
fieldName()も参照してください 。
void QSqlRecord::insert(int pos, const QSqlField &field)
レコードの位置pos にフィールドfield を挿入する。
append()、replace()、remove()も参照 。
bool QSqlRecord::isEmpty() const
レコードにフィールドがない場合はtrue
を返し、そうでない場合はfalse
を返す。
append()、insert() およびclear()も参照 。
bool QSqlRecord::isGenerated(int index) const
レコードの位置index にフィールドがあり、このフィールドが生成される場合(デフォルト)はtrue
を返し、そうでない場合はfalse
を返す。
setGenerated()も参照のこと 。
bool QSqlRecord::isGenerated(QAnyStringView name) const
これはオーバーロードされた関数である。
レコードにname というフィールドがあり、このフィールドを生成する場合(デフォルト)はtrue
を返し、そうでない場合はfalse
を返します。
注意: Qt 6.8 より前のバージョンでは、この関数はQAnyStringView ではなくQString を取っていました。
setGenerated()も参照してください 。
bool QSqlRecord::isNull(int index) const
フィールドindex が NULL の場合、または位置index にフィールドがない場合はtrue
を返し、そうでない場合はfalse
を返す。
setNull()も参照のこと 。
bool QSqlRecord::isNull(QAnyStringView name) const
これはオーバーロードされた関数である。
name というフィールドが NULL の場合、またはname というフィールドがない場合はtrue
を返し、そうでない場合はfalse
を返します。
注意: Qt 6.8 より前のバージョンでは、この関数はQAnyStringView ではなくQString を取っていました。
setNull()も参照してください 。
QSqlRecord QSqlRecord::keyValues(const QSqlRecord &keyFields) const
keyFields 、フィールド名と一致する値に設定されたフィールドを含むレコードを返す。
void QSqlRecord::remove(int pos)
pos の位置のフィールドを削除する。pos が範囲外の場合、何も起こらない。
append()、insert()、replace()も参照 。
void QSqlRecord::replace(int pos, const QSqlField &field)
位置pos のフィールドを、与えられたfield で置き換える。pos が範囲外の場合は何も起こらない。
append()、insert() およびremove()も参照 。
void QSqlRecord::setGenerated(QAnyStringView name, bool generated)
name というフィールドの生成フラグをgenerated に設定します。 フィールドが存在しない場合、何も起こりません。例えば、QSqlQueryModel によって生成される SQL には、generated が true に設定されたフィールドのみが含まれます。
注意: Qt 6.8 より前のバージョンでは、この関数はQAnyStringView ではなくQString を取っていました。
isGenerated()も参照してください 。
void QSqlRecord::setGenerated(int index, bool generated)
フィールドindex の生成フラグをgenerated に設定する。
isGenerated()も参照のこと 。
void QSqlRecord::setNull(int index)
フィールドindex の値をnullに設定する。フィールドが存在しない場合は何も起こりません。
void QSqlRecord::setNull(QAnyStringView name)
これはオーバーロードされた関数である。
name というフィールドの値を null に設定します。フィールドが存在しない場合は何も起こりません。
注意: Qt 6.8 より前のバージョンでは、この関数はQAnyStringView ではなくQString を取っていました。
void QSqlRecord::setValue(int index, const QVariant &val)
位置index にあるフィールドの値をval に設定します。 フィールドが存在しない場合、何も起こりません。
void QSqlRecord::setValue(QAnyStringView name, const QVariant &val)
これはオーバーロードされた関数である。
name というフィールドの値をval に設定します。 フィールドが存在しない場合は何も起こりません。
注意: Qt 6.8 より前のバージョンでは、この関数はQAnyStringView ではなくQString を取っていました。
setNull()も参照してください 。
[noexcept, since 6.6]
void QSqlRecord::swap(QSqlRecord &other)
このSQLレコードをother 。この操作は非常に高速で、失敗することはありません。
この関数は Qt 6.6 で導入されました。
QVariant QSqlRecord::value(int index) const
レコードの位置index にあるフィールドの値を返す。index が範囲外の場合は、無効なQVariant が返される。
setValue()、fieldName()、isNull()も参照 。
QVariant QSqlRecord::value(QAnyStringView name) const
これはオーバーロードされた関数である。
レコード内のname というフィールドの値を返す。フィールドname が存在しない場合、無効な variant が返されます。
注意: Qt 6.8 より前のバージョンでは、この関数はQAnyStringView ではなくQString を取っていました。
indexOf() およびisNull()も参照してください 。
bool QSqlRecord::operator!=(const QSqlRecord &other) const
このオブジェクトがother と同一でない場合はtrue
を返し、そうでない場合はfalse
を返す。
operator==()も参照のこと 。
[noexcept, since 6.6]
QSqlRecord &QSqlRecord::operator=(QSqlRecord &&other)
Move-assignother をこのQSqlRecord インスタンスに割り当てる。
注意: 移動元のオブジェクトother は、部分的に形成された状態に置かれます。この状態では、有効な操作は破壊と新しい値の割り当てだけです。
この関数は Qt 6.6 で導入されました。
QSqlRecord &QSqlRecord::operator=(const QSqlRecord &other)
レコードをother に等しくする。
QSqlRecord は暗黙的に共有される。これは、一定の時間でレコードのコピーを作成できることを意味する。
bool QSqlRecord::operator==(const QSqlRecord &other) const
このオブジェクトがother と同一である(すなわち、同じフィールドを同じ順序で持つ)場合はtrue
を返し、そうでない場合はfalse
を返す。
operator!=()も参照 。
© 2025 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.