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()을 사용합니다. field()을 사용하여 주어진 필드에 대한 QSqlField 객체를 가져옵니다. contains()를 사용하여 레코드에 특정 필드 이름이 포함되어 있는지 확인합니다.
데이터베이스에서 실행될 쿼리가 생성될 때, isGenerated()의 결과가 true인 필드만 생성된 SQL에 포함됩니다.
레코드에는 append() 또는 insert()을 사용하여 필드를 추가하고, replace()을 사용하여 필드를 대체하며, remove()을 사용하여 필드를 제거할 수 있습니다. clear()을 사용하면 모든 필드를 제거할 수 있습니다. 필드 수는 count()으로 확인할 수 있으며, clearValues()을 사용하여 모든 필드의 값을 null로 초기화할 수 있습니다.
QSqlField 및 QSqlQuery::record()도 참조하십시오 .
멤버 함수 문서
QSqlRecord::QSqlRecord()
빈 레코드를 생성합니다.
isEmpty(), append(), insert()도 참조하십시오 .
QSqlRecord::QSqlRecord(const QSqlRecord &other)
other 의 복사본을 생성합니다.
QSqlRecord는 암시적으로 공유됩니다. 즉, 레코드의 복사본을 상수 시간 내에 생성할 수 있습니다.
[constexpr noexcept default, 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 이전버전에서는 이 함수가 ` QString`을 인수로 받았으며, ` QAnyStringView`은 받지 않았습니다.
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 이전버전에서는 이 함수가 ` QString`을 인수로 받았으며, ` QAnyStringView`은 받지 않았습니다.
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 이전버전에서는 이 함수가 ` QString`을 매개변수로 받았으며, ` QAnyStringView`은 아니었습니다.
이 함수는 오버로드된 함수입니다.
void QSqlRecord::setValue(int index, const QVariant &val)
index 위치에 있는 필드의 값을 val 로 설정합니다. 해당 필드가 존재하지 않으면 아무 작업도 수행되지 않습니다.
void QSqlRecord::setValue(QAnyStringView name, const QVariant &val)
name 라는 필드의 값을 val 로 설정합니다. 해당 필드가 존재하지 않으면 아무 일도 일어나지 않습니다.
참고: Qt 6.8 이전버전에서는 이 함수가 ` QString`을 매개변수로 받았으며, ` QAnyStringView`을 받지 않았습니다.
이 함수는 오버로드된 함수입니다.
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 ’ 필드가 존재하지 않으면 유효하지 않은 변형이 반환됩니다.
참고: 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)
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!=()도 참조하십시오 .
© 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.