Здравствуйте, гость ( Вход | Регистрация )
|
Steklova Olga |
11.6.2013, 10:18
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4
|
Всем привет
В таблице БД 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 |
12.6.2013, 7:32
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Steklova Olga, Уникальность ключа не зависит от типа данных, задаётся она как описал alex977.
Цитата(Steklova Olga @ 11.6.2013, 12:18) Link 4) можно ввести значение типа NUMERIC(8,2) с помощью doubleSpinBox? В Qt (и не только) с этим проблема. Qt не может обрабатывать все типы СУБД, т.к. в Си++ свои типы. Поэтому работа идёт со строкой, которую Qt пытается ограничить до заданных пределов при записи в БД, но не в момент редактирования.Лучше для подобных типов сразу писать делегат, который не даст пользователю выйти за рамки дозволенного. |
|
|
|
Steklova Olga Как работать с таблицей, содержащей уникальный набор значений типа double? 11.6.2013, 10:18
Алексей1153 варианты удобного, на мой взгляд, ключа:
1) текст... 11.6.2013, 11:59
alex977 Цитата(Steklova Olga @ 11.6.2013, 11:18) ... 11.6.2013, 17:05
Steklova Olga Litkevich Yuriy, большое спасибо за ответ
Цитата... 13.6.2013, 11:18
Litkevich Yuriy Цитата(Steklova Olga @ 13.6.2013, 13:18) ... 13.6.2013, 16:47
Steklova Olga Цитата(Litkevich Yuriy @ 13.6.2013, 16:47... 14.6.2013, 9:43
Litkevich Yuriy Цитата(Steklova Olga @ 14.6.2013, 11:43) ... 15.6.2013, 14:39![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 16.12.2025, 3:05 |