Un campo oggetto 4D è un tipo di campo persistente del database, memorizzato come contenuto binario. In precedenza, la lettura di questo tipo di campo da parte di un driver ODBC non era possibile. Fino ad oggi.
Prima veniva restituito un errore quando si cercava di leggere un campo oggetto. Questo impediva il completamento di semplici richieste Select * from myTable , il che poteva essere frustrante per gli utenti che volevano solo sfogliare il contenuto di una tabella.
Buone notizie! Il motore SQL è stato aggiornato per consentire la lettura dei campi oggetto 4D.
Motore SQL aggiornato
Con il motore SQL e il driver ODBC aggiornati, invece di restituire un errore durante la lettura di un campo oggetto, il campo viene ora restituito come contenuto binario.
Funzione SQL CAST sul campo oggetto 4D
Per sfogliare il contenuto di un campo oggetto, la funzione SQL CAST è stata estesa per restituire una rappresentazione JSON (a condizione che l’oggetto possa essere mostrato in formato JSON).
Ora è possibile utilizzare Select * from myTable per controllare tutto il contenuto del database… da 4D, Excel o Crystal Reports!
Esempio:
Ora è possibile eseguire la query seguente:
SELECT Persone.nome, CAST (Persone.indirizzo come VARCHAR) FROM Persone
Ed ecco il risultato con MS Query:
Lettura di un campo oggetto con SQL in 4D
È anche possibile leggere un campo oggetto in una variabile C_OBJECT.
Esempio:
C_OBJECT($obj)
Begin SQL
SELECT indirizzo FROM Persone WHERE nome = 'Smith'into:$obj;
End SQL