Главная страница
    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
4-100129
-Coban-
2001-12-01 16:45
2002.01.31
Перехват ссылок IE


6-100026
Диман
2001-11-09 12:18
2002.01.31
модуль Winsock - функции socket, connect и т.п.


1-100012
Havez
2002-01-13 18:45
2002.01.31
Выделение строки DBGrid цветом


3-99912
RoadRunner
2001-12-28 20:57
2002.01.31
Помогите новичку со вставкой данных


1-99937
Artem K.
2002-01-12 13:51
2002.01.31
Добавление TChartSeries во время выполнения программы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский