Domanda

Sto estendendo il livello dati di un'applicazione esistente per lavorare con Firebird 2.5, oltre a MSSQL e SQLite, ma ho colpito un ostacolo.

Ho un campo chiamato TimeStamp che memorizza i dati / tempo come tipo TimeStamp. Funziona bene con MSSQL e SQLite dove il tipo è datetime, ma rientra in Firebird. Il seguente SQL:

SELECT SysTrnId,'TimeStamp' from "TRANSACTIONS"

sembra funzionare, ma il campo TimeStamp è restituito come fieldname " CONSTANT " e i contenuti sono il testo "timestamp"

È possibile farlo sotto Firebird, o dovrò rinominare il campo e cambiare il codice negli altri livelli di dati.

È stato utile?

Soluzione

Il carattere di fuga di Firebird è la doppia virgoletta " . Nota che in firebird se hai un campo che devi scappare con virgolette doppie, diventa anche sensibile al maiuscolo / minuscolo. Pertanto, se hai dichiarato il tuo campo come TimeStamp , quindi seleziona " TIMESTAMP " ... fallirà con un errore campo non trovato.

Altri suggerimenti

Non ho idea se funzioni, ma hai provato doppie virgolette intorno a " TimeStamp " ;, le virgolette singole di solito indicano una stringa costante.

Saluti
K

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top