Domanda

Io sono il porting veramente vecchio codice per utilizzare i componenti UniDAC. Ho colpito un muro con una specifica SQL UPDATE che cambia un campo chiamato "ritorno". Basta avvolgere il campo tra virgolette non risolve il problema, perché il dialetto SQL nel database è 1, che non supporta doppi delimitatori di campo preventivo. C'è un modo per aggirare questo senza cambiare il campo? Sono in Delphi 7, e sto allontanando dai componenti InterBase db.

Modifica : SQL è il seguente:

update logger set
returning = :RETURNING
where locator = :LOCATOR

restituisce il seguente errore quando si cerca di preparare:

---------------------------
Ww
---------------------------

Dynamic SQL Error
SQL error code = -104
Token unknown - line 3, char -1
where.
---------------------------
OK   
---------------------------

Questo si verifica anche quando ho impostato il dialetto SQL client a 1 in codice:

query1.Connection.SpecificOptions.Values['SQLDialect'] := '1';
È stato utile?

Soluzione

Ho dovuto parlare con lo sviluppatore. E 'stato indirizzato a un certo punto, ma ho bisogno di rimuovere tutti i parametri della query prima di eseguirlo. Molto strano, ma la sua una soluzione: /

Altri suggerimenti

E 'possibile per voi per creare una vista lasciando tutto lo stesso, tranne per questo campo e utilizzare questo punto di vista nella vostra applicazione?

E 'possibile eseguire questa applicazione con il DLL client di un Firebird <2.1 (1.5 per esempio) e un server con la stessa versione?

Credo che questo è dovuto alla nuova sintassi in cui ritorno è una parola riservata!

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