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

Вниз

(Не)Подстановка Default значений в IBase.   Найти похожие ветки 

 
Vemer ©   (2003-09-21 11:25) [0]

Создаём в IBase такую талицу:

CREATE TABLE Tovar(PIN Integer Not Null Primary key, T_Name Char(40), T_Kolvo SmallInteger Default 0);

Однако при вставке новой записи заветный нолик в T_Kolvo не появляется. Что я делаю не так?


 
Zacho ©   (2003-09-21 11:55) [1]

Все делаешь правильно. А дело в компонентах доступа. Значение по умолчанию присвоилось бы этому полю при выполнении запроса INSERT INTO TOVAR (PIN,T_NAME) VALUES (:PIN,:T_NAME) , а TIBDataSet (или что там у тебя) выполняет запрос INSERT INTO TOVAR (PIN,T_NAME, T_KOLVO) VALUES (:PIN,:T_NAME,:T_KOLVO), в к-ром значение параметра :T_KOLVO равно NULL, соответственно и в поле TKOLVO записывается NULL.
Как с этим бороться ? Написать триггер, или присваивать значение полю в событии OnNewRecord, или установить св-во поля датасета DefaultExpression.


 
Vemer ©   (2003-09-21 12:39) [2]

Delphi ни причем (пока).
Вставку я делал прямо из IbConsole ( Table - Properties - Data).

Обработчик OnNewRecord в Delphi написан (и даже работает), но нафига его делать, если в Ibase должен работать Default. Или он только при INSERT INTO и т.п. срабатывает?

Щас буду ковырять DefaultExpression :).


 
Zacho ©   (2003-09-21 13:01) [3]

Ну а как думаешь, на чем написана IBConsole ?
Вообще, посоветовал бы пользоваться чем-нибудь более другим, например - IBExpert ( http://www.ibexpert.com )



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
3-27401
Filat
2003-09-14 13:49
2003.10.09
Бибилиотека EhLib и компонент TDBLookupComboboxEh.


7-27757
mox
2003-07-25 15:26
2003.10.09
Перезагрузка Windows


14-27647
Andryk
2003-09-19 14:18
2003.10.09
Просто прикол для ...... :о))


14-27729
jack128
2003-09-20 02:43
2003.10.09
Именинники 20 сентября


3-27343
MJ
2003-09-19 23:18
2003.10.09
динамический запрос