![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Kagami |
![]()
Сообщение
#1
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: ![]() ![]() ![]() |
Написал небольшую программку для графической работы со своей базой sqlite3.
Базу создавал следующим SQL-запросом:
Потом сделал форму с QTableView и, соответственно, стал использовать QSqlTableModel. В конструкторе у меня есть такие строчки:
А еще добавил слот, который вызывается по нажатию кнопки Del для удаления записи:
Строки в базу у меня добавлялись с помощью QSqlQuery:
при этом были строки, у которых третий параметр был NULL. Так вот, с такими строками я ничего не могу сделать ни в QTableView, ни в QSqlTableModel - ни удалить, ни изменить. Это баг или фича? |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Я имел в виду писать в базу NULL Цитата void QSqlQuery::addBindValue ( const QVariant & val, QSql::ParamType paramType = QSql::In ) Adds the value val to the list of values when using positional value binding. The order of the addBindValue() calls determines which placeholder a value will be bound to in the prepared query. If paramType is QSql::Out or QSql::InOut, the placeholder will be overwritten with data from the database after the exec() call. To bind a NULL value, use a null QVariant; for example, use QVariant(QVariant::String) if you are binding a string. т.к. QString() имеет своё собственное представление отличное от NULL в БД |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 21.6.2025, 11:45 |