Question

J'étends la couche de données d'une application existante pour qu'elle fonctionne avec Firebird 2.5, en plus de MSSQL et de SQLite, mais je suis tombé sur une pierre d'achoppement.

J'ai un champ appelé TimeStamp qui stocke les données / l'heure sous le type TimeStamp. Cela fonctionne très bien sous MSSQL et SQLite où le type est datetime mais tombe sous Firebird. Le code SQL suivant:

SELECT SysTrnId,'TimeStamp' from "TRANSACTIONS"

semble fonctionner, mais le champ TimeStamp est renvoyé sous le nom de champ " CONSTANT " et le contenu correspond au texte "" horodatage "

.

Est-il possible de faire cela sous Firebird ou vais-je devoir renommer le champ et changer le code dans les autres couches de données.

Était-ce utile?

La solution

Le caractère d'échappement de Firebird est le guillemet " . Notez que dans firebird, si vous devez échapper un champ avec des guillemets doubles, il devient également sensible à la casse. Ainsi, si vous avez déclaré votre champ comme TimeStamp , alors sélectionnez "TIMESTAMP". ... échouera avec une erreur de champ non trouvé.

Autres conseils

Je ne sais pas si cela fonctionne, mais avez-vous essayé les guillemets autour de "TimeStamp", Les guillemets simples indiquent généralement une chaîne constante.

Cordialement
K

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top