Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
7-100090
PavelS
2001-10-18 21:22
2002.01.31
Sound And Sound !!!


14-100067
Digitman
2001-12-07 17:41
2002.01.31
Дж.Харриссон - кто он ?


1-99984
helper
2002-01-13 07:03
2002.01.31
Реестр


3-99880
Dorixe
2001-12-26 13:31
2002.01.31
Trouble Поиск


3-99914
AleksK
2001-12-31 13:11
2002.01.31
ComboBox в DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский