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

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

Используя ЗАБОЙ, полю присваивается NULL, а хотелось бы НОЛЬ [IB6.x, FB]


Страницы:   1 2 3 4 5

q-q ©   (2006-06-06 10:07:00) 

При удалении цифры используется Забой => Полю присваивается NULL, а хотелось бы НОЛЬ. Устанавливать NOT NULL полю не хотелось бы (удалять инф-цию удобней Забоем, а не НУЛЕМ). Триггер на update (if f.new is null then f.new=0) по каждому числовому полю тоже нехорошо.
Подскажите, как решить оптимальнее на уровне базы.


Ega23   (2006-06-06 12:52:00) [41]


> Пользователу не объяснишь, что числа надо обнулять НУЛИКОМ,
>  они пользуются ЗАБОЕМ. В базу попадает NULL. Запрос суммирования
> с этой записью возвращает NULL.
>


А IsNull использовать в запросе религия не позволяет?


Ega23   (2006-06-06 12:51:00) [42]


> Плохой тон - писать неправильно работающие программы. Все
> остальное - индивидуальный стиль программирования. 8-)


Согласен. Но если бы люди не пользовали эту дурацкую связку TTable - TDBGrid, то, согласись, таких вопросов бы не возникало.
Ну уж больно всё глючно получается...


Сергей М.   (2006-06-06 12:50:00) [43]


> q-q   (06.06.06 12:44) [42]


Тебе чем BeforePost не угодило ?
Зачем (особенно при такой структуре БД) наживать себе геморрой с триггерами, если вся твоя из пальца высосанная проблема до смешного просто решается прямо на стороне клиента ?


Sergey13   (2006-06-06 12:48:00) [44]

2[44] Ega23 ©   (06.06.06 12:46)
Плохой тон - писать неправильно работающие программы. Все остальное - индивидуальный стиль программирования. 8-)


unknown   (2006-06-06 12:48:00) [45]


> q-q   (06.06.06 12:44) [42]
> Пользователу не объяснишь, что числа надо обнулять НУЛИКОМ

Не надо ничего пользователю объяснять. См. [9] - значение поля по умолчанию
будет = 0. И никаких null-ов.


Sergey13   (2006-06-06 12:47:00) [46]

2[42] q-q   (06.06.06 12:44)
А ты им и не объясняй. Ты программу соответственно напиши.


Ega23   (2006-06-06 12:46:00) [47]


> Пользователу не объяснишь, что числа надо обнулять НУЛИКОМ,
>  они пользуются ЗАБОЕМ. В базу попадает NULL. Запрос суммирования
> с этой записью возвращает NULL.
>


Редактировать данные в DBGrid-е и сразу шарашить их в базу - плохой тон.


unknown   (2006-06-06 12:46:00) [48]


> ЮЮ ©   (06.06.06 12:38) [41]
> nvl(или как она у вас в FB зовется)

coalesce

И, все-таки непонятно, почему > Числовых полей - много, и их число увеличивается


q-q   (2006-06-06 12:44:00) [49]

Пользователу не объяснишь, что числа надо обнулять НУЛИКОМ, они пользуются ЗАБОЕМ. В базу попадает NULL. Запрос суммирования с этой записью возвращает NULL.


ЮЮ   (2006-06-06 12:38:00) [50]

Ну тогда бы по сабжу рассказал, что это за поля и почему в таблице они должны быть нулевыми, в то время как пользователю удобнее их видеть NULLевыми. Нолики-то зачем? nvl(или как она у вас в FB зовется) в конце концов есть


Sergey13   (2006-06-06 12:36:00) [51]

2[38] q-q   (06.06.06 12:30)
>Пример с водителями взялся из воздуха на фразу:
Ну так не все воздушные катаклизмы достойны опубликования. 8-)))))))))))))))


Сергей М.   (2006-06-06 12:36:00) [52]


> q-q   (06.06.06 12:30) [38]


> к сабдж никакого отношения не имеет


Еще как имеет !

При грамотной организации структуры БД проблема по сабжу отпадает сама собой.


q-q   (2006-06-06 12:30:00) [53]

>ЮЮ ©   (06.06.06 12:17) [37]
>Только откуда у автора проблемы с нулями в озвученных атрибутах. ?>Водители спидометры каждый день на 00000 скручивают

Пример с водителями взялся из воздуха на фразу:

>Sergey13 ©   (06.06.06 10:44) [13]
>2[11] q-q   (06.06.06 10:38)
>>Числовых полей - много, и их число увеличивается.
>Наверное спроектировано не очень хорошо. Симптом известный. 8-)

и к сабдж никакого отношения не имеет


ЮЮ   (2006-06-06 12:17:00) [54]


> Sergey13 ©   (06.06.06 12:11) [36]

Так они же путевые листы не выбрасывают, надеюсь.

Только откуда у автора проблемы с нулями в озвученных атрибутах. Водители спидометры каждый день на 00000 скручивают?


Sergey13   (2006-06-06 12:11:00) [55]

2[34] q-q   (06.06.06 12:08)
А логистов всего мира не интересует вчерашний утренний километраж? Не говоря уж о среднемесячном литраже.


ЮЮ   (2006-06-06 12:10:00) [56]


> Допустим, сегодня я ввел километраж на утро и километраж
> на вечер, а завтра воткнул бортовые компьютеры (БК).


Если завтра бортывые компьютеры станут неотъемлимой
частью путевого листа
, что станут  делать логисты всего мира ?


q-q   (2006-06-06 12:08:00) [57]

> ЮЮ ©   (06.06.06 12:03) [30]
> Даже если экспедитор работает в ночную смену? Сознание лрогистов
> при этом не переворачивается? :)

Это со скрипом еще проходит, вот когда счетчик начнет новый круг - вот это да.


Ega23   (2006-06-06 12:07:00) [58]


> Для адыкватного восприятия действительности


Для этого обычно Master-Detail связку организовавают. В данном случае.


Сергей М.   (2006-06-06 12:06:00) [59]


> q-q   (06.06.06 11:56) [26]


> Как с помощью SQL вытащить записи подчинненной таблицы в
> строку главной


Не надо туда ничего "вытаскивать", не для того главная таблица предназначена при такой структуре БД.


q-q   (2006-06-06 12:05:00) [60]

>Ega23 ©   (06.06.06 12:01) [28]
>> Ну-ка, ну-ка. Как с помощью SQL вытащить записи подчинненной
>> таблицы в строку главной
>1. А нафига?
>2. Есть такая штука - join.

Для адыкватного восприятия действительности


Страницы:   1 2 3 4 5

Наверх

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