Форматирование значения даты или времени для запроса таблицы SQL в Visual FoxPro
В этой статье описывается, как запрашивать значение даты или времени из таблицы SQL Server с помощью удаленного представления или сквозного запроса SQL в Visual FoxPro.
Исходная версия продукта: Visual FoxPro
Исходный номер базы знаний: 145817
ВВЕДЕНИЕ
В Visual FoxPro входные данные типа даты можно форматировать как {mm/dd/yy}. Кроме того, если вы вводите данные непосредственно в поле даты, можно отформатировать входные данные типа даты как мм/дд/гг. Однако при форматировании данных как {mm/dd/yy} или mm/dd/yy при выполнении удаленного запроса к таблице SQL возникает ошибка ODBC.
Дополнительная информация
При передаче значений даты, времени или timestamp
значений в удаленном запросе в таблицу SQL необходимо отформатировать данные с помощью следующих escape-предложений:
Значение даты: {d 'гггг мм - - дд'}. В этом формате гггг представляет год, мм — месяц, а дд — день.
Значение времени: {t 'hh : mm : ss'}. В этом формате чч представляет часы, мм — минуты, а ss — секунды.
Значение метки времени: {ts 'yyyy - mm - ддчч : mm : ss'}.
В сквозном запросе SQL для получения значения поля даты можно использовать следующий синтаксис:
=SQLEXEC( nConnHandle, "SELECT * FROM TITLES WHERE
Titles.pubdate<{ts '1995-06-12 12:55:00'}", 'MyCursor')
Для создания удаленного представления, запрашивающего сведения о дате и времени, можно использовать следующий синтаксис:
CREATE SQL VIEW sqldate REMOTE CONNECTION sqldate AS SELECT * FROM ;
dbo.titles WHERE Titles.pubdate<{ts '1985-06-12 12:55:00'}
В Designer Представления убедитесь, что значения даты, значения времени или метки времени отформатированы в нужном виде в поле Примеры на вкладке Критерии выбора. При сохранении представления сведения в поле Примеры сохраняются вместе с представлением. При открытии и последующем изменении представления сведения в поле Примеры будут потеряны. В этом случае необходимо снова ввести сведения.
Примечание.
При передаче имени поля в качестве параметра в удаленном запросе вместо передачи значения ошибка ODBC не возникает, так как Visual FoxPro выполняет преобразование.
Ссылки
Справочник по программированию ODBC 2.0 и руководство по пакету SDK, стр. 50-52, Microsoft Press.