Un champ d’objet 4D est un type de champ de base de données persistant, stocké sous forme de contenu binaire. Auparavant, la lecture de ce type de champ par un pilote ODBC n’était pas possible. Jusqu’à aujourd’hui.
Auparavant, une erreur était renvoyée lors de la tentative de lecture d’un champ objet. Cela empêchait l’exécution de simples requêtes Select * from myTable , ce qui pouvait être frustrant pour les utilisateurs qui voulaient seulement parcourir le contenu d’une table.
Bonne nouvelle ! Le moteur SQL a été mis à jour pour permettre la lecture des champs d’objets 4D.
Moteur SQL mis à jour
Avec le moteur SQL et le pilote ODBC mis à jour, au lieu de renvoyer une erreur lors de la lecture d’un champ d’objet, le champ est maintenant renvoyé sous forme de contenu binaire.
Fonction SQL CAST sur le champ objet 4D
Pour parcourir le contenu d’un champ objet, la fonction SQL CAST a été étendue pour retourner une représentation JSON de celui-ci (à condition que l’objet puisse être affiché au format JSON).
Vous pouvez maintenant vous asseoir et utiliser Select * from myTable pour vérifier tout le contenu de votre base de données… à partir de 4D, Excel ou Crystal Reports !
Exemple :
La requête ci-dessous peut maintenant être exécutée :
SELECT Persons.name, CAST (Persons.address as VARCHAR) FROM Persons
Et voici le résultat avec MS Query :
Lecture d’un champ objet en utilisant SQL dans 4D
Vous pouvez également lire un champ objet dans une variable C_OBJECT.
Exemple :
C_OBJECT($obj)
Begin SQL
SELECT adresse FROM Personnes WHERE nom = 'Smith'into:$obj;
End SQL