Форматирование значения даты или времени для запроса таблицы SQL в Visual FoxPro


ВВЕДЕНИЕ


В Visual FoxPro можно форматировать входные данные типа Дата: {мм/дд/гг}. Или, если вы вводите текст в поле даты, вы можете форматировать данные типа Дата как мм/дд/гг. Тем не менее, если вы форматируете данные как {мм/дд/гг} или мм/дд/гг при выполнении удаленного запроса в таблице SQL, возникает ошибка ODBC.

Дополнительная информация


Если вы передаете значения даты, значения времени или значения временной метки в удаленном запросе в таблицу SQL, вам нужно отформатировать данные, используя следующие escape-предложения:
  • Значение даты: {d "гггг-мм-дд"}. В этом формате гггг представляет год, мм — месяц, а дд — день.
  • Значение времени: {t "чч:мм:СС"}. В этом формате чч представляет часы, mm — минуты, а СС — секунды.
  • Значение временной метки: {TS "гггг-мм-ддчч:мм:СС"}.
В запросе к серверу 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'}
В конструкторе представлений убедитесь, что значения даты, значения времени или значения временной метки отформатированы так, как они должны быть указаны в поле примеры на вкладке условия выбора. При сохранении представления данные в поле "примеры" сохраняются вместе с представлением. Если открыть и изменить представление, данные в поле примеры будут утрачены. В этом случае необходимо будет снова ввести данные.
Примечание. Если имя поля передается как параметр в удаленном запросе вместо передачи значения, ошибка ODBC не возникает из-за того, что Visual FoxPro выполняет преобразование.

Ссылки


Справочник по программированию для программистов ODBC 2,0, PP. 50-52, Microsoft Press.