Tipos de Dados do TDBXReader
06/02/2013
0
Caros boa tarde !
Estou querendo otimizar a geração do JsonArray do mas não estou conseguindo detectar o tipo de campo de TDBXReader
Veja a função
var
DataSet: TDBXCommand;
Reader: TDBXReader;
Obj: TJSONObject;
I: Integer;
begin
Result := TJSONArray.Create;
DataSet := Connection.CreateCommand;
Obj := TJSONObject.Create;
try
DataSet.Text := 'SELECT '+
' BE_BAIRROS.*, '+
' BE_MUNICIPIOS.DSC_MUNICIPIO '+
'FROM BE_BAIRROS '+
'INNER JOIN BE_MUNICIPIOS '+
' ON BE_BAIRROS.ID_MUNICIPIO = BE_MUNICIPIOS.ID_MUNICIPIO';
Reader := DataSet.ExecuteQuery;
for I := 0 to Reader.ColumnCount - 1 do begin
Obj.AddPair(Reader.ValueType[I].Name,TJSONString.Create(Reader.ValueType[I].Name));
end;
Result.AddElement(Obj);
while Reader.Next do begin
Obj := TJSONObject.Create;
if Reader.ValueType[I].DataType = "Aqui eu queri detectar o tipo de campo" then
Obj.AddPair(Reader.ValueType[I].Name, TJSONString.Create(Reader.Value[I].GetString));
Result.AddElement(Obj);
end;
finally
FreeAndNil(DataSet);
end;
end;
Alguém pode me ajudar ?
Desde já agradeço.. Abraços
Estou querendo otimizar a geração do JsonArray do mas não estou conseguindo detectar o tipo de campo de TDBXReader
Veja a função
var
DataSet: TDBXCommand;
Reader: TDBXReader;
Obj: TJSONObject;
I: Integer;
begin
Result := TJSONArray.Create;
DataSet := Connection.CreateCommand;
Obj := TJSONObject.Create;
try
DataSet.Text := 'SELECT '+
' BE_BAIRROS.*, '+
' BE_MUNICIPIOS.DSC_MUNICIPIO '+
'FROM BE_BAIRROS '+
'INNER JOIN BE_MUNICIPIOS '+
' ON BE_BAIRROS.ID_MUNICIPIO = BE_MUNICIPIOS.ID_MUNICIPIO';
Reader := DataSet.ExecuteQuery;
for I := 0 to Reader.ColumnCount - 1 do begin
Obj.AddPair(Reader.ValueType[I].Name,TJSONString.Create(Reader.ValueType[I].Name));
end;
Result.AddElement(Obj);
while Reader.Next do begin
Obj := TJSONObject.Create;
if Reader.ValueType[I].DataType = "Aqui eu queri detectar o tipo de campo" then
Obj.AddPair(Reader.ValueType[I].Name, TJSONString.Create(Reader.Value[I].GetString));
Result.AddElement(Obj);
end;
finally
FreeAndNil(DataSet);
end;
end;
Alguém pode me ajudar ?
Desde já agradeço.. Abraços
Luiz Bhering
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)