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

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

Как при вставке задать полям знач-я по умолч., те что в БД заданы


Страницы:   1 2

TheEd ©   (2006-02-22 02:24:00) 

Господа мастера, собственно subj.
Подробности: тип БД - IB7
поле имеет default-значение.
По идее, после вставки если юзверь ничего не ввёл оно должно быть присвоено, но это не происходит, более того, хотелось бы это значение получить сразу после вставки.

ps:ответ типа: задать полю DefaultExpression, и в OnNewRecordделать SomeField.Value := SomeField.DefaultExpressionне катит, так как это уже програма влазит в значения по умолчанию, а корректнее когда это делает СУБД (мухи отдельно, котлеты - отдельно)...


evvcom   (2006-02-22 10:15:00) [21]

Не знаю, как в IB, а в оракле ставлю для default-поля constraint not null и передавая в in/out параметре null, получаю default-значение. Напиши наследника на свой DataSet, там писать-то десяток строк. После выполнения запроса цикл по всем параметрам, и если параметр out или in/out, то прописать значение в поле, сопоставленное с этим параметром. И никаких переоткрытий НД!


Виталий Панасенко   (2006-02-22 09:31:00) [22]

В FIBPlus это решается устновкой одного параметра для DataSetа. www.devrace.com для xUSSR - дешево. Для Украины - 83 грн., год бесплатное обновление


Deniz   (2006-02-22 06:33:00) [23]

Если сделать Refresh только что добавленной записи, то поля имеющие default значения должны показать их(default значения). Но здесь есть грабли.
К примеру:
Create table t (i integer, s varchar(10) default '111')
так вот если послать запрос
insert into TEST(i) values(1)
то s примет значение '111'
а если послать запрос
insert into TEST(i, s) values(2, null)
то в s будет null, и default не отработает.
Default подставляется только если поле не указано в запросе.


Страницы:   1 2

Наверх

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