Форматирование значения даты или времени для запроса таблицы 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.