Проблема с параметрами типа Дата на 2003 сервере

отредактировано 18:32 Раздел: FastReport 4.0
FastReport 4.6.225 из состава FastReport Server 2.1.9

Вот такая проблемка:
Отчет подразумевает выборку из таблицы с условием по дате, т.е. от :P1 и до :P2.
При запуске отчета на станции XP все прекрасно работает.
При запуске этого отчета на сервере 2003 выборка не производится.
Без передачи параметров в SQL запрос данные выходят, стоит внести
WHERE
r.date > :P1 .and. r.date < :P2
Отчет выходит пустой.

В какую сторону смотреть? Почему это проявляется только на Win 2003 Server ?

Комментарии

  • dron-sdron-s Россия
    отредактировано 18:32
    написал:
    WHERE
    r.date > :) 1 .and. r.date < :) 2
    что за точки перед и после and???
    и попробуй так
    select * from NameTable where between :d1 and :d2
    
  • отредактировано 18:32
    DRON написал: »
    что за точки перед и после and???
    и попробуй так
    select * from NameTable where between :d1 and :d2
    
    Пробовал и так, на 2003 отчет не формируется а на XP формируется.
    Одна и та же программа и источник данных (Provider=VFPOLEDB.1)
  • dron-sdron-s Россия
    отредактировано 18:32
    написал:
    Пробовал и так, на 2003 отчет не формируется а на XP формируется.
    что значит не формируется?
    выходит чистый лист? или выдаётся какая то ошибка? по подробнее опишите
  • отредактировано 18:32
    DRON написал: »
    что значит не формируется?
    выходит чистый лист? или выдаётся какая то ошибка? по подробнее опишите
    Выходит чистый лист по табличной части. Т.е. Заголовок отчета есть, табличной части нет.
    Если запустить на XP то все нормально.
    Еще один нюанс, при выходе из дизайнера v.4.6.225 на XP выходят ошибки "Инструкция по адресу ... Память не может быть read" и Runtime error.
    На Win 2003 такого не наблюдается, инсталлятор один и тот же.
  • отредактировано 18:32
    Проверил еще на одной машине XP.
    Там тоже формируется пустой лист, есть закономерность. BDE установлена только на той станции, где отчет работает.
    Может ли быть в этом проблема?
  • отредактировано 18:32
    Еще вопрос, как правильно задать параметр со значением даты в AdoQuery ?
    Задаю к примеру в sql запросе
    WHERE
    r.date =ctod('05.22.2008')
    все нормально отрабатывает и отображает
    А как правильно передать значение в параметре ?
  • dron-sdron-s Россия
    отредактировано 18:32
    написал:
    r.date =ctod('05.22.2008')
    формат даты зависит от региональных настроек на машине клиента, в зависимости от этого формат даты может различаться...
    передавая дату в параметре, sql сервер сам преобразует дату к нужному формату..
    а передачу параметров делай через ParamByName
    AdoQuery.SQL.ADD('select * from NameTable where DataFields between :d1 and :d2')
    AdoQuery.ParamByName('d1').asValue := DATE;
    AdoQuery.ParamByName('d2').asValue := NOW;
    
  • отредактировано 18:32
    Спасибо, возьму на заметку.
    Вопрос решился переустановкой драйвера OLE DB VFP.
    Отчеты стали формироваться.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.