Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.31;
Скачать: CL | DM;

Вниз

не отображаются значения по умолчанию   Найти похожие ветки 

 
victor   (2001-12-25 06:55) [0]

почему при переходе на новую запись не отображаются значения по умолчанию, пробовал через default в самом оракле 8.16, и через delphi DefaultExpression
использую odac 2.50 - может в нем какие то особенности, потому что через BDE с Парадоксом у меня все получалось


 
Mick   (2001-12-25 08:37) [1]

Потому что при "переходе на новую запись" в оракле еще нет дефолтного значения поля.


 
victor   (2001-12-25 12:06) [2]

и как быть???


 
Mick   (2001-12-25 12:53) [3]

Не вставлять данные в гриде


 
Alexandr ©   (2001-12-25 12:58) [4]

или как бы всталять default значения на клиенте в событии OnAfterInsert
вот откуда их брать? Можно конечно из базы вытащить каким-нибудь сложным запросом, а можно просто продублировать задание значения в программе


 
Mick   (2001-12-25 13:42) [5]

Следите за ходом мысли:
Зачем нужны Default значения полей? Для того чтобы КЛИЕНТ мог в Insert Into ... не перчислять эти поля и СЕРВЕР вставил бы сам эти дефолтные значения.
Теперь что хотите вы:
При вставке новой записи иметь db-Aware контрол связанный с полем имеющим дефолтное значение и чтобы в этом контроле было это самое дефолтное значение.
При этом BDE формирует запрос Insert Into ..., в котором в списке вставляемых полей есть это наше поле со значением, присвоенным в клиенте.

Возвращаемся в начало и спрашиваем себя: На кой леший мы делали поле c default значением, если пишем данные в него с клиента?


 
Yuvich ©   (2001-12-25 13:46) [6]

Взять дефолтовое значение можно так:
SELECT column_name, data_default FROM all_tab_columns WHERE owner = "..." and table_name = "..."

ODAC берет дефолтовое значение начиная с версии 3.хх


 
Alexandr ©   (2001-12-25 13:48) [7]

это workAround
на сервере этот default задается чтоб точно был и никуда случайно не делся так сказать для надежности.
А на клиенте дублируется чтоб все красиво было.
В чем проблема?
Будет тормозить? Возможно... Но на глаз незаметно. Будет ниже надежность -нет.
Вломы писать?- а вообще программу не вломы писать?
а Default значения нужны для сохранения логики сервера, а не для того что бы клиент эти поля не перечислял


 
Mick   (2001-12-26 08:52) [8]

>Alexandr
"..на сервере этот default задается чтоб точно был и никуда случайно не делся так сказать для надежности."

Сто раз нет и еще один раз нет.
Например пользователь в приложении стирает значение, которое вы ему вытянули и на сервер улетает запрос, который вставит NULL в поле.
Или поле перечислено в запросе "Insert into ... при вставке записи в третьем приложении.
И при этом поле, имеющее атрибут, Dеfault очень даже "куда-нибудь денется".

Для этих целей всегда служили NOT NULL, CHECK и т.д. но только не Dafault.
Задача, которую решал автор вопроса решается модулем MyConstants.pas и обработчиками событий датасета.
Либо вообще не вставлять это поле с клиента.

PS Неленивый писатель это похвально. Но неленивый читатель - это полезнее.


 
Mick   (2001-12-26 10:20) [9]

Хотя я знал людей, которые чат реализовывали на IB и его евентах



Страницы: 1 вся ветка

Текущий архив: 2002.01.31;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
14-100061
Феликс
2001-12-10 23:18
2002.01.31
Последний герой.


4-100120
Crafox
2001-12-04 19:51
2002.01.31
Блокировка сочетаний типа Win+M и т.п.


14-100055
VEG
2001-12-10 22:01
2002.01.31
Нужен компонент типа LABEL, только с большей скоростью перерисовки!!!


14-100049
Игорь
2001-12-02 19:29
2002.01.31
Вопрос почти про графику


1-99979
dimonf
2002-01-14 16:44
2002.01.31
Вопрос, как маштабировати и просматривать график.