Re[2]: IBE and Delphi проблемы с соеденеием
От: Lex82 Польша  
Дата: 11.06.07 06:02
Оценка:
Здравствуйте, Arioch, Вы писали:

A>Как минимум не ясно

A>1) при вызове какой функции происходит ошибка (как следствие непонятно какой запрос)

Ошибка происходит привызове функции FieldByName, её исходник


function TDataSet.FieldByName(const FieldName: string): TField;
begin
  Result := FindField(FieldName);
  if Result = nil then DatabaseErrorFmt(SFieldNotFound, [FieldName], Self);
end;


A>2) какие SQL-запросы формируют датасеты


SQL запрос формирующий датасет выглядит следующе


SELECT  
   D_ORG.NAME,  W_PRINAKL.NNAKL, 
  W_PRINAKL.DTNAKL, W_PNAKLTOV.PRICEP,
  W_PNAKLTOV.QUANT_FAKT, W_PNAKLTOV.VEST,         
  W_PNAKLTOV.NSHET_D, W_PNAKLTOV.DTSHET_D,
  S_DOGTOV.NDS, 
  D_TOVAR.NAME as NMTOV 
FROM   S_GR2TOV  
  INNER JOIN D_TOVAR ON (S_GR2TOV.ID = D_TOVAR.ID_GR2TOV) 
  INNER JOIN S_DOGTOV ON (D_TOVAR.ID =      S_DOGTOV.ID_D_TOVAR)  
  INNER JOIN W_PNAKLTOV ON (S_DOGTOV.ID =     W_PNAKLTOV.ID_DTOV)  
  INNER JOIN W_PRINAKL ON (W_PNAKLTOV.ID_PRINAKL =      W_PRINAKL.ID) 
  INNER JOIN D_ORG ON (W_PRINAKL.ID_ORG = D_ORG.ID)        
  INNER JOIN D_DOGOVOR ON (S_DOGTOV.ID_D_DOGOVOR =       D_DOGOVOR.ID) 
WHERE (((W_PNAKLTOV.DTSHET_D >= :DtN) and (W_PNAKLTOV.DTSHET_D <= :DtE)) or 
   ((W_PNAKLTOV.DTSHET_D is null) and (W_PRINAKL.DTNAKL >= :DtN) and (W_PRINAKL.DTNAKL <= :DtE) ) ) and 
(S_GR2TOV.ID = :IDGR2) and (W_PNAKLTOV.VEST <> 0 )
 ORDER BY D_ORG.NAME, D_TOVAR.NAME, W_PRINAKL.DTNAKL  ;


A>3) какими SQL-запросами созданы таблицы фигурирующие в запросах.


Какими запросами создана таблица не знаю так как пришел в организацию не давно и работаю с готовой БД, но если вы имели в виду соответствие типов данных в БД и в запросе то оно полное.



A>Также включить Debug DCUs и протрассировать к конкретной строчке вызывающей ошибку, это покажет причину ошибки.


Дебагер пишет, что поле не найдено и указывает на функию, приведённую выше


A>Попробуйте напрямую выполнить азпросы в IBExpert


Запросы в IBExpert выполняются как положенно

A>Попробуйте почитать документацию на www.iBase.ru


Всё читаю , сначали читаю и ищу потом спрашиваю
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.