Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > dbgrid+oracle+odac. не подставляет значение


Автор: ElPresly 13.5.2008, 23:41
На форме OraQuery, OraSession, OraDataSource, DBGrid DBNavigator

выбираю все поля из таблицы, одно поле делаю fkCalculated и в событии OraQuery1CalcFields прописываю его. запускаю, при изменении поле подставляется! (специально сделал видимым для поверки), а вот когда жмешь + на навигаторе выдает ошибку ora - 01400: cannot insert NULL into gas_counter.id. gas_counter.id - именно тот столбец для которого калькулируются данные. Когда вводится все в ручную проблем не возникает

Автор: Vas 14.5.2008, 06:58
OraQuery и DBNavigator что-то новенькое smile По идее все в приницпе должно работать если у вас в OraQuery нормально прописаны TInsertSQL, TUpdateSQL и TDeleteSQL. 

Автор: ElPresly 14.5.2008, 09:44
Что значит нормально? При ручной подставке всех выражений работает же.

Добавлено через 12 минут и 35 секунд
я так понимаю что сначала создается запись, а потом подставляется значение, а так как значение не может быть пустым, выдает ошибку. как исправить?

Автор: Vas 14.5.2008, 11:49
По умолчанию в БД для нужного поля поставить значение например "0".

Добавлено через 1 минуту и 21 секунду
А gas_counter.id еще наверное и первичный ключ в таблице?

Автор: ElPresly 14.5.2008, 13:20
Да, первичный.

Добавлено через 10 минут и 19 секунд
Спасибо, вопрос решен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)