Um campo de objecto 4D é um tipo de campo de base de dados persistente, armazenado como conteúdo binário. Anteriormente, a leitura deste tipo de campo por um driver ODBC não era possível. Até hoje.
Antes, era devolvido um erro ao tentar ler um campo de objecto. Isto impediu a conclusão de um simples Select * dos pedidos de myTable , o que poderia ser frustrante para os utilizadores que apenas queriam navegar pelo conteúdo de uma tabela.
Boas notícias! O motor SQL foi actualizado para permitir a leitura de campos de objectos 4D.
motor SQL ACTUALIZADO
Com o motor SQL actualizado e o driver ODBC, em vez de devolver um erro ao ler um campo de objecto, o campo é agora devolvido como conteúdo binário.
Função SQL CAST no campo de objecto 4D
Para navegar pelo conteúdo de um campo de objecto, o SQL CAST foi ampliada para devolver uma representação do JSON (desde que o objecto possa ser mostrado em formato JSON).
Agora pode sentar-se e desfrutar usando Select * de myTable para verificar todo o conteúdo da sua base de dados … de 4D, Excel, ou Crystal Reports!
Exemplo:
A consulta abaixo pode agora ser executada:
SELECT Persons.name, CAST (Pessoas.endereço como VARCHAR) DE Pessoas
E aqui está o resultado com o MS Query:
Leitura de um campo de objecto usando SQL em 4D
Também se pode ler um campo de objecto numa variável C_OBJECT.
Exemplo:
C_OBJECT($obj)
Begin SQL
FROM SELECT endereço Pessoas WHERE nome = 'Smith' into:$obj;
End SQL