Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
Delphi 10 Seattle Enterprise
|
DataSnap REST ClientDataSet zeigt keine Felder an
1. Sep 2014, 22:38
Datenbank: Firebird • Version: 2.5 • Zugriff über: DataSnap REST
Hallo Zusammen,
ich habe aus dem Tread die zweite Frage extrahiert weil sie eigentlich nicht zu dem Thread gehört.
Ich hoffe das ist in Ordnung.
http://www.delphipraxis.net/181645-b...etadapter.html
Das Problem vorab: ein ClientDataSet wird über RESTResponseDataSetAdapter versorgt, doch leider
werden keine Felder angezeigt. Sicherlich nur eine Kleinigkeit die ich nicht kenne.
Ich habe einen DataSnap REST Server erstellt welcher mir über eine Methode TDBXReader Object liefert.
Delphi-Quellcode:
function TServerMethods1.GetGruppen: TDBXReader;
var comm: TDBXCommand;
begin
EConnection.Open;
comm := EConnection.DBXConnection.CreateCommand;
comm.CommandType := TDBXCommandTypes.DbxSQL;
comm.text := 'SELECT * FROM GRUPPEN';
if (not comm.IsPrepared) then comm.Prepare;
result := comm.ExecuteQuery;
end;
Der Client ist ein Mobile Android Projekt. Auf der Form wurden die Komponenten abgelegt:
RESTClient, RESTRequest, RESTResponse, RESTResponseDataSetAdapter und ClientDataSet
In RESTClient habe ich die BaseUrl angegeben und in RESTRequest die resource. Wenn ich per
Rechtsklick auf RESTRequest- ausführen klicke, sehe ich unter RESTResponse.content die Jason Tabelle.
Code:
{"result":[{"table":[["GRUPPENID",6,0,0,0,4,4,0,false,false,0,false,false],["GRUPPENNAME",1,1,0,0,21,20,0,false,false,0,false,false]],"GRUPPENID":[14,10,11,12,16,17,18,21,26,25,27,28,29,30,32,34,37,38],"GRUPPENNAME":["05. Absetzer","03. Sattel","01. Dreiachser","04. Abroller","06. Radlader","07. Tankwagen","08. Bagger","10. Alle LKW","02. Vierachser","09. Kleintransporter","11. Dumper","12. Oldies","16. abgemeldet","14. Ersetzte Ger\u00E4te","13. PlanierRaupe","15. Puchheim","Container","Kipper"]}]}
RESTResponseDataSetAdapterResponse ist verbunden mit RESTResponse und mit ClientDataSet.
Jetzt hätte ich erwartet dass ich die Felder ClientDataSet.FieldDefs abrufen kann. Doch ich bekomme
immer nur ein Feld "result" vom Type TWideStringField auch über Live Binding sehe ich die Felder von
ClientDataSet leider nicht. Somit kann ich die Felder auch nicht an irgend welche Controls binden.
Hat jemand eine Idee?
Gruß Kostas
|