Mettre en forme une valeur de date ou d’heure pour interroger une table SQL dans Visual FoxPro

Cet article explique comment interroger une valeur de date ou d’heure à partir d’une table SQL Server à l’aide d’une vue à distance ou d’une requête SQL directe dans Visual FoxPro.

Version du produit d’origine :   Visual FoxPro
Numéro de la base de connaissances initiale :   145817

MISE

Dans Visual FoxPro, vous pouvez mettre en forme les données d’entrée de type date sous la forme {mm/jj/aa}. Ou, si vous tapez directement dans un champ date, vous pouvez mettre en forme les données d’entrée de type date sous la forme mm/jj/aa. Toutefois, si vous mettez en forme les données en tant que {MM/JJ/AA} ou en tant que MM/JJ/AA lorsque vous exécutez une requête distante sur une table SQL, vous êtes confronté à une erreur ODBC.

Plus d’informations

Si vous transmettez les valeurs de date, les valeurs d’heure ou timestamp les valeurs d’une requête distante à une table SQL, vous devez mettre en forme les données à l’aide des clauses d’échappement suivantes :

  • Valeur de date : {d'yyyy - mm - DD'}. Dans ce format, yyyy représente l’année, mm le mois et DD , le jour.

  • Valeur de l’heure : {t'hh : mm : SS'}. Dans ce format, hh représente les heures, mm représente les minutes et SS représente les secondes.

  • Valeur d’horodatage : {ts'yyyy - mm - DD hh : mm : SS'}.

Dans une requête SQL directe, vous pouvez utiliser la syntaxe suivante pour récupérer la valeur d’un champ de date :

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

Vous pouvez utiliser la syntaxe suivante pour créer une vue à distance qui demande des informations de date et d’heure :

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

Dans le concepteur de vues, vérifiez que les valeurs de date, les valeurs d’heure ou les valeurs d’horodatage sont mises en forme comme vous le souhaitez dans le champ exemples de l’onglet critères de sélection. Lorsque vous enregistrez l’affichage, les informations contenues dans le champ exemples sont enregistrées avec l’affichage. Si vous ouvrez puis modifiez l’affichage, les informations du champ exemples sont perdues. Dans ce cas, vous devez retaper les informations.

Notes

Lorsque vous transmettez le nom du champ sous la forme d’un paramètre dans une requête distante au lieu de transmettre une valeur, aucune erreur ODBC n’est rencontrée car Visual FoxPro effectue une conversion.

Références

Guide de référence et SDK du programmeur ODBC 2,0, pp. 50-52, Microsoft Press.