QSqlRecord Class
QSqlRecord クラスはデータベースレコードをカプセル化します。詳細...
Header: | #include <QSqlRecord> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Sql) target_link_libraries(mytarget PRIVATE Qt6::Sql) |
qmake: | QT += sql |
Inherited By: |
- 継承メンバを含む全メンバのリスト
- 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)
Move -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 というフィールドが見つからない場合、この関数はデフォルトで構成された値を返します。
注: 6.8 より前の Qt バージョンでは、この関数は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 に設定します。フィールドが存在しない場合は、何も起こりません。
isNull() およびsetValue() も参照して ください。
void QSqlRecord::setNull(QAnyStringView name)
これはオーバーロードされた関数です。
name というフィールドの値を NULL に設定します。フィールドが存在しない場合、何も起こりません。
注意: Qt 6.8 より前のバージョンでは、この関数はQAnyStringView ではなくQString を取っていました。
void QSqlRecord::setValue(int index, const QVariant &val)
位置index にあるフィールドの値をval に設定します。 フィールドが存在しない場合は、何も起こりません。
value() およびsetNull()も参照してください 。
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 をこの SQL レコードと交換します。この操作は非常に高速で、失敗することはありません。
この関数は 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-このQSqlRecord インスタンスにother を代入する。
注意: 移動元のオブジェクトother は、部分的に形成された状態に置かれます。この状態では、有効な操作は破壊と新しい値の割り当てのみです。
この関数は Qt 6.6 で導入されました。
QSqlRecord &QSqlRecord::operator=(const QSqlRecord &other)
レコードをother に等しく設定します。
QSqlRecord は暗黙的に共有されます。これは、一定の時間でレコードのコピーを作成できることを意味します。
bool QSqlRecord::operator==(const QSqlRecord &other) const
このオブジェクトがother と同じ(つまり、同じフィールドを同じ順序で持つ)場合はtrue
を返し、そうでない場合はfalse
を返します。
operator!=()も参照してください 。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。