Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как добавить элемент в DBLookupComboBox? [D7, XP]


Страницы:   1 2

deras ©   (2008-04-24 13:37:00) 

Заполняю DBLookupComboBox записями из таблицы. Как добавить первым в списке DBLookupComboBox элемент типа "Нет значения" с KeyValue=-1, а далее в списке все записи таблицы
Это надо для того, чтоб пользователь мог и не выбрать ничего из списка, а я мог бы сохранить в другую таблицу значение -1, как результат того, что ничего не было выбрано


deras   (2008-04-24 17:12:00) [1]


> Ega23 ©   (24.04.08 17:01) [36]


:-) хорошо Вам


Ega23   (2008-04-24 17:01:00) [2]


> Никак не отобразится/не спозиционируется. В гриде будет
> пустое поле.


Я свой DBLookupCombo написал, у него позиционируется...  :о)


Sergey13   (2008-04-24 16:57:00) [3]

> [34] deras ©   (24.04.08 16:53)

Никак не отобразится/не спозиционируется. В гриде будет пустое поле.


deras   (2008-04-24 16:53:00) [4]


> Sergey13 ©   (24.04.08 16:43) [30]

тогда как его (значение NULL) отобразить в DBLookupComboBox1, ведь, как сказал

> Ega23 ©   (24.04.08 14:42) [10]


это правда?


Sergey13   (2008-04-24 16:53:00) [5]

> [31] deras ©   (24.04.08 16:50)

Чего тебе надобно, старче. (с) Пушкин
8-)

Чего "мне этого не надо да и не надо будет в будущем"? Ссылочную целостность? Ню-ню.


Ega23   (2008-04-24 16:51:00) [6]

тогда null


deras   (2008-04-24 16:50:00) [7]


> Sergey13 ©   (24.04.08 16:41) [29]

это я понимаю. И так правильно было бы делать. Но в данном случае  мне этого не надо да и не надо будет в будущем


Sergey13   (2008-04-24 16:43:00) [8]

> [27] deras ©   (24.04.08 16:32)
> если -1, то значение не было выбрано?

Если значение не выбрано - это NULL, а -1 это конкретное значение, которое ДОЛЖНОсуществовать в справочнике.


Sergey13   (2008-04-24 16:41:00) [9]

> [28] deras ©   (24.04.08 16:37)
> Например, хотя бы  для отображения в том же гриде

Грид тут лесом идет. У главной таблицы должен быть внешний ключ на справочник. Наличие этой связи предполагает, что в поле таблице содержатся ссылки только на то, что есть в справочнике. Это называется ссылочной целостностью.


deras   (2008-04-24 16:37:00) [10]


> Sergey13 ©   (24.04.08 16:22) [26]


ага.. наверное, Вы имелти виду, что все равно в справочнике должно быть соотношение -1 -> 'Нет значения'
Например, хотя бы  для отображения в том же гриде... Так я понял?


deras   (2008-04-24 16:32:00) [11]


> Sergey13 ©   (24.04.08 16:22) [26]

а почему я не могу проверят в главной таблице - если -1, то значение не было выбрано? Разве так нельзя?


Sergey13   (2008-04-24 16:22:00) [12]

> [25] deras ©   (24.04.08 16:12)

Если ты все таки решил писать в главную таблицу значение -1, то тебе придется добавить дополнительную запись в справочник. Иначе не получится записать, если конечно связь между таблицами в виде внешнего ключа существует (а она должна быть!!!). Тогда запрос с union отпадет сам собой.


deras   (2008-04-24 16:12:00) [13]

все равно спасибо! главное ведь - идея сама


Ega23   (2008-04-24 16:02:00) [14]

блин... вот в Access не знаю... На TSQL и PgSQL просто "из ниоткуда" Select можно сделать...
В FB - from RDB$... (чего-то там, уже не помню)


deras   (2008-04-24 15:58:00) [15]

так пробовал. Вы так указали первый раз. Но выдает ошибку
"В качестве входных данных запрос должен иметь хотя бы одну таблицу или запрос"


Sergey13   (2008-04-24 15:58:00) [16]

> [17] deras ©   (24.04.08 15:42)
> господа эксперты - "учи матчать" :-)

С первой частью не согласен - я далеко не эксперт. Вторую часть поддерживаю полностью. 8-)

> [17] deras ©   (24.04.08 15:42)
> Честно говоря, сам не знаю

Тогда стоит не поправлять более знающего человека, а переспросить для уточнения. (впрочем это уже лирика)

> но когда union all, то почему-то значений 'Нет значения'
> ровно столько, сколько записей в таблице (наборе данныз)

1. когда где "union all"?
2. а сколько ты ожидал и колько там (и вообще где?) есть?
3. таблица<>набору данных

Union, если почитать документацию, возвращает сумму записей двух таблиц, исключая повторяющиеся записи. Union ALL ничего не исключает, кроме того он не делает и неявную сортировку/группировку, необходимую для исключения дубликатов. Поэтому в твоем случае необходим как раз таки union all.


Ega23   (2008-04-24 15:55:00) [17]

Select -1 as id, 'Нет значения' as name
union all
SELECT id, name FROM spr_nakladnaya


А так?  :)


deras   (2008-04-24 15:53:00) [18]

Select -1 as id, 'Нет значения' as name FROM spr_nakladnaya
union all
SELECT id, name FROM spr_nakladnaya

DB MSAccess


Ega23   (2008-04-24 15:51:00) [19]

И СУБД назови. Потому как у меня в TSQL - все прекрасно.


Ega23   (2008-04-24 15:50:00) [20]


> Честно говоря, сам не знаю, но когда union all, то почему-
> то значений 'Нет значения' ровно столько, сколько записей
> в таблице (наборе данныз)


Запрос покажи


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо