Formattare un valore di data o ora per eseguire query su una tabella SQL in Visual FoxPro

Questo articolo illustra come eseguire query su un valore di data o ora da una tabella SQL Server usando una visualizzazione remota o una query pass-through SQL in Visual FoxPro.

Versione originale del prodotto: Visual FoxPro
Numero KB originale: 145817

INTRODUZIONE

In Visual FoxPro è possibile formattare i dati di input del tipo di data come {mm/gg/aa}. In alternativa, se si digita direttamente in un campo data, è possibile formattare i dati di input del tipo di data come mm/gg/aa. Tuttavia, se si formattano i dati come {mm/dd/yy} o come mm/dd/yy quando si esegue una query remota in una tabella SQL, si verifica un errore ODBC.

Ulteriori informazioni

Se si passano valori di data, ora o timestamp valori in una query remota a una tabella SQL, è necessario formattare i dati usando le clausole di escape seguenti:

  • Valore data: {d 'aaaa - mm - gg'}. In questo formato, aaaa rappresenta l'anno, mm rappresenta il mese e dd rappresenta il giorno.

  • Valore di ora: {t 'hh : mm : ss'}. In questo formato hh rappresenta le ore, mm rappresenta i minuti e ss rappresenta i secondi.

  • Valore timestamp: {ts 'yyyy - mm - ddhh : mm : ss'}.

In una query pass-through SQL è possibile usare la sintassi seguente per recuperare il valore di un campo data:

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

È possibile usare la sintassi seguente per creare una visualizzazione remota che esegue query sulle informazioni di data e ora:

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

Nella Designer Visualizza verificare che i valori di data, ora o timestamp siano formattati nel modo desiderato nel campo Esempi della scheda Criteri di selezione. Quando si salva la visualizzazione, le informazioni nel campo Esempi vengono salvate insieme alla visualizzazione. Se si apre e quindi si modifica la visualizzazione, le informazioni nel campo Esempi vengono perse. In questo caso, è necessario digitare di nuovo le informazioni.

Nota

Quando si passa il nome del campo come parametro in una query remota anziché passare un valore, non si verifica un errore ODBC perché Visual FoxPro esegue una conversione.

Riferimenti

Odbc 2.0 Programmer's Reference and SDK Guide, pp.50-52, Microsoft Press.