DateTime в ADOQuery

отредактировано 07:27 Раздел: FastReport 3.0
Ошибка при передачи DateTime в SQL параметр ADOQuery.

При передаче даты в запрос через параметр FastReport преобразует его в строку (как не выставляй тип параметра в DateTime), и Sybase, соответственно, не может его принять, т.к. представление времени разное.

Как можно передать дату не прибегая к перобразованию в строку?

Комментарии

  • отредактировано 07:27
    Хотелось бы все-таки услышать мнение разработчиков!
    Почему, используя TfrxADOQuery совместно с TfrxADODatabase при коннекте к "Provider=ASAProv.90", я не могу передать переменную TDateTime???

    В FastReport TDateTime возвращается в формате 16.06.2006 15:00:00, а Sybase ASA 9 требует datetime в формате 2006-06-16 15:00:00.
    Приходится разбирать TDateTime в строку, собирать необходимую строчку и передавать дату и время через строку.

    Почему не происходит конвертация в нужный формат данных?
    Это же ADO!!!
  • Stalker4Stalker4 123
    отредактировано 07:27
    Насчет TfrxADOQuery я тебе не помогу, но могу посоветовать другое.

    Я тоже работаю с Sybase ASA 8. И для работы с ним использую SQL Direct
    http://www.sqldirect-soft.com/
    Очень хорошая библиотека, правда платная, но оно того стоит.
    Для нее есть и движок для FR2,FR3,FS.

    Так вот там подобных проблем нет, все работает как часы.
  • отредактировано 07:27
    Спосибо Stalker4.

    Я думаю, либо разработчики забили на форум, ли бо сами не знают в чем проблема. И то и другое заставляет задуматься...
  • отредактировано 07:27
    aseroff написал:
    Спосибо Stalker4.

    Я думаю, либо разработчики забили на форум, ли бо сами не знают в чем проблема. И то и другое заставляет задуматься...
    Знакомая проблема ;) ...Тем не менее нашлось ее вполне работоспособное решение.
    Суть заключается в том что сначала Value -> String -> TDateTime.
    Что-то вроде
    ADODataSet.Params.ParamByName("foo").Value := StrToDateTime(DateTimeToStr(DateEdit1.Date));

    Если убрать функции преобразования типов, то действительно получаем ошибку несовместимости типов или неверного значения параметров.

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

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