Описание класса QSqlTableModel
|
Константа | Значение | Описание |
---|---|---|
QSqlTableModel::OnFieldChange | 0 | Все изменения модели будут применены непосредственно к БД |
QSqlTableModel::OnRowChange | 1 | Изменения строки будут применены, когда пользователь выберет другую строку. |
QSqlTableModel::OnManualSubmit | 2 | Все изменения будут кэшироваться в модели пока не будут вызваны submitAll() или revertAll(). |
Замечание: Для предотвращения внесения только частично заполненных строк в БД, OnFieldChange будет вести себя как OnRowChange для вновь добавленных строк.
Смотрите также setEditStrategy().
Создаёт пустую QSqlTableModel и устанавливает значение предка в parent, а соединения к БД в db. Если db не является корректным, используется соединение по умолчанию.
Стратегия редактирования по умолчанию - OnRowChange.
Удаляет объект и освобождает все выделенные ему ресурсы.
Этот сигнал испускается deleteRowFromTable() перед удалением записи row из текущей активной таблицы базы данных.
Данный сигнал испускается insertRowIntoTable() перед вставкой новой строки в текущую активную таблицу базы данных. Значение, которые будут вставлены, хранятся в record и могут быть изменены перед этой операцией.
Данный сигнал испускается updateRowInTable() перед обновлением записи row в текущей активной таблице базы данных значениями из record.
Помните, что только помеченные как генерируемые значения будут обновлены. Флаг, отвечающий за то, являются ли данные генерируемыми, может быть установлен с помощью QSqlRecord::setGenerated() и проверен посредством QSqlRecord::isGenerated().
Смотрите также QSqlRecord::isGenerated().
Возвращает указатель на используемую QSqlDatabase или 0, если БД не установлена.
Удаляет заданную строку row из текущей активной таблицы БД.
Это низкоуровневый метод, который используется только при непосредственной работе с БД, не стоит вызывать его напрямую. Используйте removeRow() или removeRows() для удаления данных. Модель выбирает в зависимости от текущей стратегии редактирования, когда изменять БД.
Возвращает true, если строка была удалена; в противном случае возвращает false.
Смотрите также removeRow() и removeRows().
Возвращает текущую стратегию редактирования.
Смотрите также setEditStrategy().
Возвращает индекс поля fieldName.
Возвращает текущий установленный фильтр.
Смотрите также setFilter() и select().
Возвращает индекс значения в результате, полученном для элемента item модели.
Вернёт значение, равное item, если вокруг нет столбцов или строк для вставки, удаления или перемещения.
Возвращает неправильный индекс модели, если item выходит за границы или если item не является указателем на значение в результирующем наборе.
Смотрите также QSqlQueryModel::indexInQuery().
Вставляет record после row. Если row отрицателен, запись будет помещена в конец. Внутри вызываются insertRows() и setRecord().
Возвращает true, если строка была вставлена, в противном случае возвращает false.
Смотрите также insertRows() и removeRows().
Вставляет значения values в текущую активную таблицу базы данных.
Это низкоуровневый метод, который используется только при непосредственной работе с БД, не стоит вызывать его напрямую. Для вставки значений используйте insertRow() и setData(). Модель выбирает в зависимости от текущей стратегии редактирования, когда изменять БД.
Возвращает true, если значения могут быть вставлены, в противном случае возвращает false. Информация об ошибке может быть доступна с помощью lastError().
Смотрите также lastError(), insertRow() и insertRows().
Вставляет count пустых строк, начиная с позиции row. Помните, что parent должен быть неправильным, так как модель не поддерживает связей предок-потомок.
Только одна запись может быть вставлена, если используется OnFieldChange или OnRowChange стратегия обновления.
Сигнал primeInsert() испускается для каждой новой строки. Соединяйтесь с ним, если вы хотите заполнить новые записи значениями по умолчанию.
Возвращает false, если параметры выходят за границы допустимого; в противном случае возвращает true.
Переопределено из QAbstractItemModel.
Смотрите также primeInsert() и insertRecord().
Возвращает true, если значения по индексу index неактуальные (dirty), в противном случае возвращается false. Неактуальные значения - это те, которые были изменены в модели, но ещё не записаны в БД.
Если index неверен или указывает на несуществующую запись, возвращается false.
Возвращает SQL оператор ORDER BY, основанный на текущих установках сортировки.
Смотрите также setSort() и selectStatement().
Возвращает первичный ключ текущей таблицы или пустой QSqlIndex, если в таблице нет первичного ключа.
Смотрите также setTable(), setPrimaryKey() и QSqlDatabase::primaryIndex().
Данный сигнал испускается insertRows() при вставке переданной записи row в текущую активную таблицу базы данных. Параметр record может быть изменён (так как это ссылка), например, для заполнения некоторых полей значениями по умолчанию.
Удаляет count столбцов из модели parent, начиная с индекса column.
Возвращает true, если столбцы были удалены; в противном случае возвращает false.
Переопределено из QAbstractItemModel.
Смотрите также removeRows().
Удаляет count строк, начиная с row. Так как эта модель не поддерживает иерархические структуры, parent должен быть недействительным индексом в модели.
Испускает сигнал beforeDelete() до того, как произойдёт удаление. Когда стратегией редактирования является OnManualSubmit испускание сигнала задерживается до вызова submitAll().
Возвращает true, если все строки могут быть удалены; противном случае возвращает false. Детализированную информацию об ошибке можно получить с помощью lastError().
Переопределено из QAbstractItemModel.
Смотрите также removeColumns() и insertRows().
Этот переопределённый слот вызывается элементами делегатов, когда пользователь завершает редактирование текущей строки.
Отменяет изменения, если текущая стратегия модели - OnRowChange. При других стратегиях ничего не делает.
Используйте revertAll() для отмены всех изменений для стратегии OnManualSubmit или revertRow() для отмены изменения определённой записи.
Переопределено из QAbstractItemModel.
Смотрите также submit(), submitAll(), revertRow() и revertAll().
Отменяет все сделанные изменения.
Смотрите также revert(), revertRow() и submitAll().
Отменяет все сделанные изменения для определённой строки row.
Смотрите также revert(), revertAll(), submit() и submitAll().
Заполняет модель данными из таблицы, установленной с помощью setTable(), используя специальный фильтр и сортировку, при успехе возвращает true; в противном случае возвращает false.
Смотрите также setTable(), setFilter() и selectStatement().
Возвращает результат выполнения SQL запроса SELECT, используется внутри для заполнения модели. Этот запрос включает в себя фильтр и ORDER BY.
Смотрите также filter() и orderByClause().
Устанавливает данные для элемента index и роли role в value. В зависимости от стратегии редактирования, значение может быть применено к БД или к кэшированной модели.
Возвращает true, если значение может быть установлено, и false в случае ошибки, например, если index выходит за пределы границы значений.
Переопределено из QAbstractItemModel.
Смотрите также editStrategy(), data(), submit(), submitAll() и revertRow().
Устанавливает стратегию редактирования значений БД в strategy.
Это отменит любые не применённые изменения.
Смотрите также editStrategy() и revertAll().
Устанавливает текущий фильтр в filter.
Фильтр является SQL выражением WHERE без ключевого слова WHERE (например, name='Josephine').
Если модель уже заполнена данными из БД, модель перевыберет их с учётом нового фильтра. В противном случае, фильтр будет применён при следующем вызове select().
Смотрите также filter(), select(), selectStatement() и orderByClause().
Защищённый метод, позволяющий классам-потомкам устанавливать первичный ключ в key.
Обычно первичный ключ устанавливается автоматически каждый раз, когда вы вызываете setTable().
Смотрите также primaryKey() и QSqlDatabase::primaryIndex().
Эта функция просто вызывает QSqlQueryModel::setQuery(query). Вы не должны, как правило, вызывать её для QSqlTableModel. Вместо этого используйте setTable(), setSort(), setFilter() и т.д. для создания запроса.
Смотрите также selectStatement().
Устанавливает значения записи row в record. Возвращает true, если значения могут быть установлены; в противном случае возвращает false.
Смотрите также record().
Устанавливает порядок сортировки для столбца column в order. Не влияет на текущие данные, для обновления данных с использованием изменённого порядка сортировки вызовите select().
Смотрите также sort(), select() и orderByClause().
Устанавливает таблицу БД, с которой работает модель, в tableName. Не делает выборки данных, но получает информацию о них.
Для заполнения модели данными таблицы вызовите select().
Информация об ошибке может быть доступна с помощью lastError().
Смотрите также select(), setFilter() и lastError().
Сортирует данные по столбцу column в порядке order. Будет применено непосредственно к данным, используйте setSort() для установки порядка сортировки без заполнения модели данными.
Переопределено из QAbstractItemModel.
Смотрите также setSort(), select() и orderByClause().
Переопределённый слот, вызывается делегатом элемента, когда пользователь заканчивает редактировать текущую строку.
Применяет текущую редактируемую строку, если установлена стратегия редактирования OnRowChange или OnFieldChange. При стратегии OnManualSubmit ничего не происходит.
Использует submitAll() для применения всех совершённых изменений для стратегии OnManualSubmit.
Возвращает true, если всё прошло успешно; в противном случае возвращает false. Используйте lastError() для получения доступа к информации об ошибках.
В случае успеха модель будет заполнена заново. Все представления, связанные с ней, потеряют свои выделения.
Переопределено из QAbstractItemModel.
Смотрите также revert(), revertRow(), submitAll(), revertAll() и lastError().
Применяет все сделанные изменения и возвращает true в случае успеха. Возвращает false, если случилась ошибка, информацию о ней вы сможете получить с помощью lastError().
В случае успеха модель будет заполнена заново. Все представления, связанные с ней, потеряют свои выделения.
Замечание: В режиме OnManualSubmit все применённые изменения не будут очищаться, если submitAll() не выполнится. Текущая транзакция может быть отменена и применена позже без потери данных.
Смотрите также revertAll() и lastError().
Возвращает имя текущей выбранной таблицы.
Обновляет переданную строку row в текущей активной таблице БД переданными значениями values. Возвращает true в случае успеха; при неудаче возвращается false.
Это низкоуровневый метод, который используется только при непосредственной работе с БД, не стоит вызывать его напрямую. Используйте setData() для обновления значений. Модель выбирает в зависимости от текущей стратегии редактирования, когда изменять БД.
Помните, что только помеченные как генерируемые значения могут быть обновлены. Флаг, отвечающий за то, являются ли данные генерируемыми, может быть установлен с помощью QSqlRecord::setGenerated() и проверен посредством QSqlRecord::isGenerated().
Смотрите также QSqlRecord::isGenerated() и setData().
Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) | Торговые марки | Qt 4.5.3 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |