![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Steklova Olga |
![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Всем привет
![]() В таблице БД FireBird надо хранить массивы значений F_FR для разных объектов (TO_F_OBJ_NMB - номер объекта). Значения содержат 1..6 цифр в целой части, 2 цифры в дробной части, значения положительные. Для конкретного объекта массив F_FR не должен содержать повторяющиеся значения. Таблица создана так
Для корректировки таблицы T_OBJ_FR использую диалог, в котором для корректировки поля F_FR использую doubleSpinBox. Мне непонятно вот что: 1) можно ли создать уникальный ключ, содержащий поле типа DOUBLE PRECISION? (например, создать уникальный ключ (TO_F_OBJ_NMB, F_FR)) 2) если не создавать уникальный ключ, то как проверить, есть ли уже в таблице только что введенное оператором в doubleSpinBox значение F_FR? (как написать SELECT?) 3) не лучше ли будет описать поле F_FR как NUMERIC(8,2), а не DOUBLE PRECISION? 4) можно ввести значение типа NUMERIC(8,2) с помощью doubleSpinBox? 5) можно создать уникальный ключ, содержащий поле типа NUMERIC? Сообщение отредактировал Steklova Olga - 13.6.2013, 9:15 |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Steklova Olga, Уникальность ключа не зависит от типа данных, задаётся она как описал alex977.
4) можно ввести значение типа NUMERIC(8,2) с помощью doubleSpinBox? В Qt (и не только) с этим проблема. Qt не может обрабатывать все типы СУБД, т.к. в Си++ свои типы. Поэтому работа идёт со строкой, которую Qt пытается ограничить до заданных пределов при записи в БД, но не в момент редактирования.Лучше для подобных типов сразу писать делегат, который не даст пользователю выйти за рамки дозволенного. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 4:49 |