Formatar um valor de data ou hora para consultar uma tabela SQL no Visual FoxPro

Este artigo apresenta como consultar um valor de data ou hora de uma tabela SQL Server usando uma exibição remota ou uma consulta de passagem do SQL no Visual FoxPro.

Versão original do produto: Visual FoxPro
Número de KB original: 145817

INTRODUÇÃO

No Visual FoxPro, você pode formatar dados de entrada do tipo de data como {mm/dd/yy}. Ou, se você digitar diretamente em um campo de data, poderá formatar dados de entrada de tipo de data como mm/dd/yy. No entanto, se você formatar os dados como {mm/dd/yy} ou como mm/dd/yy ao executar uma consulta remota em uma tabela SQL, você terá um erro ODBC.

Mais informações

Se você passar valores de data, valores de hora ou timestamp valores em uma consulta remota para uma tabela SQL, deverá formatar os dados usando as seguintes cláusulas de escape:

  • Valor da data: {d 'yyyyy - mm - dd'}. Nesse formato, yyyy representa o ano, mm representa o mês e dd representa o dia.

  • Valor de tempo: {t 'hh : mm : ss'}. Nesse formato, hh representa as horas, mm representa os minutos e ss representa os segundos.

  • Valor do carimbo de data/hora: {ts 'yyyy - mm - ddhh : mm : ss'}.

Em uma consulta de passagem do SQL, você pode usar a seguinte sintaxe para recuperar o valor de um campo de data:

 =SQLEXEC( nConnHandle, "SELECT * FROM TITLES WHERE
 Titles.pubdate<{ts '1995-06-12 12:55:00'}", 'MyCursor')

Você pode usar a seguinte sintaxe para criar uma exibição remota que consulta informações de data e hora:

 CREATE SQL VIEW sqldate REMOTE CONNECTION sqldate AS SELECT * FROM ;
 dbo.titles WHERE Titles.pubdate<{ts '1985-06-12 12:55:00'}

No Modo de Exibição Designer, verifique se os valores de data, os valores de hora ou os valores de carimbo de data/hora são formatados da maneira que você deseja no campo Exemplos da guia Critérios de Seleção. Quando você salva a exibição, as informações no campo Exemplos são salvas junto com a exibição. Se você abrir e modificar a exibição, as informações no campo Exemplos serão perdidas. Se você fizer isso, deverá digitar as informações novamente.

Observação

Quando você passa o nome do campo como um parâmetro em uma consulta remota em vez de passar um valor, você não experimenta um erro ODBC porque o Visual FoxPro executa uma conversão.

Referências

ODBC 2.0 Programr's Reference and SDK Guide, pp.50-52, Microsoft Press.