QSqlRecord Class
QSqlRecord 클래스는 데이터베이스 레코드를 캡슐화합니다. 더 보기...
Header: | #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)
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
을 반환합니다.
참고: 6.8 이전 Qt 버전에서 이 함수는 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을 반환합니다. 필드 이름은 대소문자를 구분하지 않습니다. 일치하는 필드가 두 개 이상이면 첫 번째 필드가 반환됩니다.
참고: 6.8 이전 Qt 버전에서는 이 함수가 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
을 반환합니다.
참고: 6.8 이전 Qt 버전에서는 이 함수가 QAnyStringView 이 아닌 QString 을 취했습니다.
setGenerated()도 참조하십시오 .
bool QSqlRecord::isNull(int index) const
index 필드가 널이거나 index 위치에 필드가 없는 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
setNull()도 참조하세요 .
bool QSqlRecord::isNull(QAnyStringView name) const
이 함수는 오버로드된 함수입니다.
name 이라는 필드가 null이거나 name 이라는 필드가 없는 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
참고: 6.8 이전 Qt 버전에서는 이 함수가 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로 설정된 필드만 포함됩니다.
참고: 6.8 이전 Qt 버전에서는 이 함수가 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로 설정합니다. 필드가 존재하지 않으면 아무 일도 일어나지 않습니다.
참고: 6.8 이전 Qt 버전에서는 이 함수가 QAnyStringView 이 아닌 QString 을 취했습니다.
void QSqlRecord::setValue(int index, const QVariant &val)
index 위치의 필드 값을 val 로 설정합니다. 필드가 존재하지 않으면 아무 일도 일어나지 않습니다.
void QSqlRecord::setValue(QAnyStringView name, const QVariant &val)
이 함수는 오버로드된 함수입니다.
name 이라는 필드의 값을 val 으로 설정합니다. 필드가 존재하지 않으면 아무 일도 일어나지 않습니다.
참고: 6.8 이전 Qt 버전에서는 이 함수가 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 필드가 존재하지 않으면 유효하지 않은 변형이 반환됩니다.
참고: 6.8 이전 Qt 버전에서는 이 함수가 QAnyStringView 이 아닌 QString 을 받습니다.
bool QSqlRecord::operator!=(const QSqlRecord &other) const
이 객체가 other 과 동일하지 않으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
operator==()도 참조하세요 .
[noexcept, since 6.6]
QSqlRecord &QSqlRecord::operator=(QSqlRecord &&other)
이동 - other 을 이 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.