Dar formato a un valor de fecha o hora para consultar una tabla SQL en Visual FoxPro

En este artículo se presenta cómo consultar un valor de fecha o hora desde una tabla de SQL Server mediante una vista remota o una consulta de paso a través de SQL en Visual FoxPro.

Versión original del producto: Visual FoxPro
Número de KB original: 145817

INTRODUCCIÓN

En Visual FoxPro, puede dar formato a los datos de entrada de tipo de fecha como {mm/dd/aaaa}. O bien, si escribe directamente en un campo de fecha, puede dar formato a los datos de entrada de tipo de fecha como mm/dd/aaaa. Sin embargo, si aplica formato a los datos como {mm/dd/aaaa} o como mm/dd/aaaa al realizar una consulta remota en una tabla SQL, experimenta un error ODBC.

Más información

Si pasa valores de fecha, valores de hora o timestamp valores de una consulta remota a una tabla SQL, debe dar formato a los datos mediante las siguientes cláusulas de escape:

  • Valor de fecha: {d 'aaaa - mm - dd'}. En este formato, aaaa representa el año, mm representa el mes y dd representa el día.

  • Valor de hora: {t 'hh : mm : ss'}. En este formato, hh representa las horas, mm representa los minutos y ss representa los segundos.

  • Valor de marca de tiempo: {ts 'aaaa - mm - ddhh : mm : ss'}.

En una consulta de paso a través de SQL, puede usar la sintaxis siguiente para recuperar el valor de un campo de fecha:

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

Puede usar la sintaxis siguiente para crear una vista remota que consulte la información de fecha y hora:

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

En el Designer Ver, asegúrese de que los valores de fecha, los valores de hora o los valores de marca de tiempo tienen el formato que desee en el campo Ejemplos de la pestaña Criterios de selección. Al guardar la vista, la información del campo Ejemplos se guarda junto con la vista. Si abre y modifica la vista, se pierde la información del campo Ejemplos. Si lo hace, debe escribir la información de nuevo.

Nota:

Al pasar el nombre del campo como parámetro en una consulta remota en lugar de pasar un valor, no experimenta un error ODBC porque Visual FoxPro realiza una conversión.

Referencias

Referencia del programador y guía del SDK de ODBC 2.0, pp.50-52, Microsoft Press.