Russian Qt Forum
Ноябрь 24, 2024, 11:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlTableModel(QSqlRelationalTableModel) + SQLite == ???  (Прочитано 4857 раз)
svch
Гость
« : Ноябрь 15, 2006, 18:34 »

Вопрос:
Версия Qt4.2. Написал простенькую програмку для вывода/изменения таблиц БД. В качестве СУБД использую SQLite (который идет вместе с Qt). Столбец в базе данных имеет тип INTEGER, в поле этого столбца я ввожу напр. "10" - работает, "10.37" - работает, "qwerty" - работает. Т.е. сохраняется в этом поле типа INTEGER ЭТА ЛАЖА.
В demos/sqlbrowser та же самая картина. Еще интереснее... если вместо ключа с целым типом написать не то (напр. строку "not key"), то строка таблицы с этим ключом не будет отображаться. Люди как сделать так чтобы было нельзя вводить всякий хлам в поля??? C СУБД Firebird все работает как надо!!! Надеюсь все дело в кривоте моих рук:) Помогите плиз!!!

добавлено спустя 2 минуты:

 Люди а с другими СУБД описанных проблем нет в QT?
Записан
Вячеслав
Гость
« Ответ #1 : Ноябрь 15, 2006, 21:52 »

Насколько я помню лайту было пофиг че хранить в поле - лишь-бы размерность(длина поля и данных в байтах) совпадала .... Так-что читай доку про sqlite ......
ЗЫ если нужна нормальная маленькая БД IMHO можно глянуть в сторону embeded FireBird .... Там усе есть Подмигивающий И SP и тригеры Подмигивающий
Записан
svch
Гость
« Ответ #2 : Ноябрь 16, 2006, 10:12 »

А почему тогда в поле с varchar(10) можно вписать и сохранить и 20 символов?
Записан
DmP
Гость
« Ответ #3 : Ноябрь 16, 2006, 11:13 »

Цитата: "svch"
А почему тогда в поле с varchar(10) можно вписать и сохранить и 20 символов?

Изучайте документации:
http://www.sqlite.org/datatype3.html
Код:

As in SQLite version 2, any column in a version 3 database except an INTEGER PRIMARY KEY may be used to store any type of value. The exception to this rule is described below under 'Strict Affinity Mode'.
Записан
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #4 : Июнь 23, 2010, 11:51 »

Для SQLite можно вообще тип не указывать при создании таблиц, только если конечно вы не будите потом данные переносить на другую СУБД. Все данные хранятся как текстовая информация.
Записан

Qt 5.11.0, Win, MinGW
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 22.