Показать сообщение отдельно
  #1  
Старый 29.07.2011, 15:56
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
Восклицание Как узнать какие точно данные получила БД ?

Есть баг, который не получается пока отловить. Данные внутри программы перепроверены - всё ок. Баг либо в процедуре БД, либо при передаче параметров из программы в процедуру БД или обратно. Процедура явно работает, тк возвращает названия полей таблицы, но результат работы - пуст, строк нет.
Пользуюсь IBExpert, можно в нём как-то посмотреть запросы/ответы к/из процедурам БД из рабочей программы? Как вообще можно узнать какие точно данные получила БД?

=====================

Попутно напишу как выглядит запрос в БД, может будут корректировки:
Код:
procedure TfZapros.Zapros(ProcedureName,ProcedureList:string);
begin
  With dsZapros do begin
    close;
    SQLs.SelectSQL.Text:='SELECT * FROM '+ProcedureName+' (:LIST)';
    Params[0].Value:=ProcedureList;
    open;
end;
Код в БД по разделению списка выглядит так:
Код:
begin
  while (i <= char_length(lst)) do begin
    if (substring(lst from i for 1) = ',') then begin
      if (i > j) then
          id = trim(leading from substring(lst from j for i - j));
      else
        id = null;
      if (id is not null) then suspend;
      j = i+1;
    end
    i = i+1;
  end
  if (i > j) then
      id = trim(leading from substring(lst from j for i - j));
  else
    id = null;
  if (id is not null) then suspend;
end
Приводить саму процедуру выборки не буду, тк в ней без таблиц и понимания программы разобраться невозможно.