![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
VBA |
![]() ![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 13.1.2009 Пользователь №: 487 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Использую QSqlTableModel и QTableView в связке с PyQt4, для отображения данных из таблицы БД.
Пытаюсь удалить строку, которую выбрал пользователь в TableView, таким образом:
В результате получаю ошибку: QSqlQuery::value: not positioned on a valid record Причем, TableView.model().removeRow(Index.row()) возвращает True, а "затык" происходит на TableView.model().submitAll() (возвращает False). ТableView.model().lastError().text() пишет следующее: No data supplied for parameters in prepared statement QMYSQL3: Unable to execute statement Добавление записей происходит без проблем, а вот удаление... ((( Сообщение отредактировал Litkevich Yuriy - 31.1.2009, 12:34 |
|
|
![]() |
VBA |
![]()
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 13.1.2009 Пользователь №: 487 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Уф... заработало...
![]() У меня в таблице БД первое поле - это ID записи. Соответственно, я его пытался не отображать в QTableView. Согласно офф. доке http://doc.trolltech.com/4.4/qsqltablemodel.html#details я написал:
Поле стало невидимым, но вылезли вот такие непонятные проблемы (кстати, до сих пор не пойму их суть). Закоментировал эту строку и все чудом заработало. Поле (а точнее уже столбец) скрываю не в модели, а в вьювере:
|
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 2.3.2025, 19:59 |