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


Автор: Beltar 22.3.2007, 17:00
Есть база MS SQL 2000, коннектюсь через ADO в BDS 2006.

Возникла такая проблема:
Делаю запросу Insert, и после этого при изменении поля новой записи, неважно, через сетку DBGrid или форма вылезает сообщение о EOleException неизвестного типа. Если сначала заполнить 2 определенных поля, то ошибка исчезает. При запуске не из Delphi никаких сообщений не появляется.

Из-за чего такое может быть??

Автор: comtat 22.3.2007, 19:40
выкладывай запрос .. 

Автор: Beltar 22.3.2007, 20:50
Select * From Паспорта.

Нет там практически никакого кода. Прога только начата. Изначально правда оба поля входили в одну таблицу как ключи, но потом я ее разбил на 2 независимые. База после этого ес-но ыла вычищена, благо размер невелик.

Автор: ТоляМБА 23.3.2007, 08:55
Цитата(Beltar @  22.3.2007,  17:00 Найти цитируемый пост)
Делаю запросу Insert

Цитата(comtat @  22.3.2007,  19:40 Найти цитируемый пост)
выкладывай запрос 

Цитата(Beltar @  22.3.2007,  20:50 Найти цитируемый пост)
Select * From Паспорта
 Нда. А где Insert  smile 

Цитата(Beltar @  22.3.2007,  17:00 Найти цитируемый пост)
Если сначала заполнить 2 определенных поля, то ошибка исчезает
 Каких? Структуры и связи в студию!

Автор: Beltar 23.3.2007, 09:15
Проблема с LookUp полями, если их нет, то нет и ошибки. Если есть, то их надо заполнять первыми. Что как-то не очень.
Но в табл. Паспорта мне нужны, вместо КодСИ и Подразделение подставить их наименования.

Запросов с обновление данных у меня нет. Использовать ADOTable вместо ADOQuery нерационально, т. к. нужно осуществлять фильтрацию, которую через фильтр не сделаешь. До этого правда использовал ADOTable и проблем не было, но что-то я не вижу между ADOTable и ADOQuery разницы, разве что ADOQuery мощнее. Или я чего-то не улавливаю?

Структура связей в аттаче.

Автор: ТоляМБА 23.3.2007, 09:25
А типы связанных полей совпадают? Просто названия связанных полей в таблице "Паспорта" вводят в заблуждение.

Автор: Beltar 23.3.2007, 10:19
Все совпадает:
Вот, вялова глюкалова:
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=13327

Попробовал отключить AutoCalcFields, как там советуют. Похоже, что работает, хотя правку записей в сетке лучше лочить, т. к. вычислимые поля не обновляются.

Автор: SergeBS 23.3.2007, 11:34
Beltar, 
Для всех lookup-полей ставь LookupCashe = true (default = false).

Автор: Beltar 23.3.2007, 17:39
Можно считать закрытым.

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