![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ошибка при отобр-и данных с LookupField [D7, MSSQL]
D © (2003-01-21 14:20:00)Мастера, помогите пож-та!!!! может кто-то сталкивался с чем-нибудь подобным!
Есть АДОДатаСет, в нем несколько Lookup полей. В design-time открывается нормально, все отображается в связанном с ним Гриде. Во время вып-я при отображении в гриде вылетает с EOleException "Unknown error...".
(Если убрать флажок Stop on exception, то данные в Гриде все-таки отображаются).
Johnmen (2003-01-22 11:26:00) [1]>BlackTiger (22.01.03 11:08)
1. Предлагаю на "ты".
2. Коротко :
Каждый раз, когда у приложения возникает необходимость в значении лукапного поля (напр.для отображения), происходит обращение к лукапному НД, в котором ищется соотв.запись, и из нее берется необх.значение поля. Если же на лукапный НД стоит фильтр, то, естественно, соотв запись м.б. не найдена. В этом случае значение лук-го поля не определено. АДОДатаСет проверяет эту ситуацию и возбуждает ексепшн, что, впрочем, не мешает отобразить пустое поле. Если установить кеширование лук-го поля, то значения соотв.полей лук-го НД помещаются в кеш, откуда и берутся при необходимости. Кеш строится в момент создания/получения НД с лук.полем, поэтому именно в этот момент лук-ый НД не д.б. отфильтрован...
Уф-ф-ф-ф...Устал...:)))
BlackTiger (2003-01-22 11:08:00) [2]Уважаемый Johnmen!
Расскажите мне тогда ПОЧЕМУ до определенного момента все работает, а в один прекрасный момент отбрасывает копытца и сыпет "левые" исключения? Дельфя в ресурсы, что ли пишет содержитмое лукапных полей? И почему, если все повторить ОДИН-В-ОДИН в ЧИСТОМ проекте, то опять некоторое время все работает, потом - кранты?
Что ТАКОЕ модуль DB.dcu передает модуль ADODB.dcu, что последний просто выпадает в exception?
Johnmen (2003-01-22 00:44:00) [3]>BlackTiger (21.01.03 21:10)
Никаких косяков !!! Повнимательней прочти про кеширование лукапных полей и вообще, как они работают...
Может тогда бросишь баловаться косячками и узнаешь, кто такой партайгеноссе Борман...
BlackTiger (2003-01-21 21:10:00) [4]Блин! Моя ошибка! Я первый про этот АДОшно-Дельфийский баг спрашивал! Я пробился несколько дней, а потом просто поставил "Stop on Delphi exceptions" в false. ЗАДОЛБАЛО!
Все было нормально до определенного момента, а потом начала вылезать эта ерунда. При этом дурацкий дебагер выкидывал в абсолютно левый код где-то в недрах модуля ADO, почему-то связанный с анализом наложенных фильтров не понятно на что. После удаления исходников ADO просто вываливался "в никуда".
Косячек-с бормановский, однако.
D (2003-01-21 15:12:00) [5]>jee
СПАСИБО ОГРОМНОЕ!
jee (2003-01-21 15:02:00) [6]я когда-то протрахался с этой ошибкой несколько дней. В LookUp поле включи свойство LookupCache в true.
don-do (2003-01-21 14:48:00) [7]По всей видимости программист ограничился только лишь обработкой исключения, поэтому стоит наплевать на эту ошибку, тем более что при нормальной работе ее не возникает
D (2003-01-21 14:34:00) [8]Где возникает ошибка - обнаружилось: среди Lookup-полей есть одно, которое может содер-ть пустые значения. МОЖНО ЛИ ВСЕ-ТАКИ исп-ть в этом случае Lookup-поле?