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:

QSqlIndex

パブリック関数

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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。