Название: QSqlTableModel(QSqlRelationalTableModel) + SQLite == ??? Отправлено: svch от Ноябрь 15, 2006, 18:34 Вопрос:
Версия Qt4.2. Написал простенькую програмку для вывода/изменения таблиц БД. В качестве СУБД использую SQLite (который идет вместе с Qt). Столбец в базе данных имеет тип INTEGER, в поле этого столбца я ввожу напр. "10" - работает, "10.37" - работает, "qwerty" - работает. Т.е. сохраняется в этом поле типа INTEGER ЭТА ЛАЖА. В demos/sqlbrowser та же самая картина. Еще интереснее... если вместо ключа с целым типом написать не то (напр. строку "not key"), то строка таблицы с этим ключом не будет отображаться. Люди как сделать так чтобы было нельзя вводить всякий хлам в поля??? C СУБД Firebird все работает как надо!!! Надеюсь все дело в кривоте моих рук:) Помогите плиз!!! добавлено спустя 2 минуты: Люди а с другими СУБД описанных проблем нет в QT? Название: QSqlTableModel(QSqlRelationalTableModel) + SQLite == ??? Отправлено: Вячеслав от Ноябрь 15, 2006, 21:52 Насколько я помню лайту было пофиг че хранить в поле - лишь-бы размерность(длина поля и данных в байтах) совпадала .... Так-что читай доку про sqlite ......
ЗЫ если нужна нормальная маленькая БД IMHO можно глянуть в сторону embeded FireBird .... Там усе есть ;) И SP и тригеры ;) Название: QSqlTableModel(QSqlRelationalTableModel) + SQLite == ??? Отправлено: svch от Ноябрь 16, 2006, 10:12 А почему тогда в поле с varchar(10) можно вписать и сохранить и 20 символов?
Название: QSqlTableModel(QSqlRelationalTableModel) + SQLite == ??? Отправлено: DmP от Ноябрь 16, 2006, 11:13 Цитата: "svch" А почему тогда в поле с varchar(10) можно вписать и сохранить и 20 символов? Изучайте документации: http://www.sqlite.org/datatype3.html Код:
Название: Re: QSqlTableModel(QSqlRelationalTableModel) + SQLite == ??? Отправлено: kolob от Июнь 23, 2010, 11:51 Для SQLite можно вообще тип не указывать при создании таблиц, только если конечно вы не будите потом данные переносить на другую СУБД. Все данные хранятся как текстовая информация.
|