| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |
Нда. А где Insert Каких? Структуры и связи в студию! |
| Автор: 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 |
| Можно считать закрытым. |