Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
Beiträge

RAD Studio 10.3 Rio – neue RAD Server Möglichkeiten: TEMSDataSetResource mit SortingParamPrefix, PageSize und ValueFields

the future of starts demands massive productivity

Dies ist mit Delphi/C++Builder/RAD Studio 11.x nicht mehr notwendig, da Datenbank-Endpoints automatisch mit dem Experten erzeugt werden können

https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Creating_a_RAD_Server_Package

pastedgraphic 1


Da die Dokumentation zu den neuen RAD Server Möglichkeiten etwas limitiert ist, hier einige Tipps: Ich möchte hier drei Aspekte beleuchten:

  • PageSize (TEMSDataSetResource)
  • SortingParamPrefix (TEMSDataSetResource)
  • ValueFields (TEMSDataSetResource)

Es gibt eine neue Komponente, die es ermöglicht, schnell einen RAD Server/eine RAD Server Ressource zu erstellen, die den Datenbankinhalt als JSON zurückliefert: TEMSDataSetResource

http://docwiki.embarcadero.com/RADStudio/Rio/en/Using_RAD_Server_Components#Helper_Components_for_JSON_Processing

Jetzt habe ich mich gefragt, wie man das nutzt….. ohne Doku aber möglich: Ich habe in den Quelltext geschaut 🙂

Einfaches Beispiel (setzt voraus, daß der RAD Server Development Server lauffähig ist (InterBase konfiguriert))

  • Datei | Neu | Weitere
  • Delphi Projekte -> RAD Server -> RAD Server-Package
  • „Package mit Ressource erstellen“
  • Ressourcenname „Irgendwas“ / Dateityp „Datenmodul“
  • ALLE Endpunkte löschen
  • Fertig stellen

Das bringt ein normales Datenmodul für den RAD Server auf den Schirm

Hier platziert man nun drei Komponenten:

  • TEMSDataSetResource und die (beiden) Datenbankzugriffskomponenten (hier aus eines InterBase Datenbank):

Der EMDDataSetRessource weisst man nun das DataSet zu und aktiviert die „Action“ „List“ unter „AllowedActions“:

Und fügt die passende RessourceSuffix im Quelltext ein:

 

Neu hinzugekommen ist das (direkt über der TEMSDataSetResource)

     [ResourceSuffix(‚./‘)]

Das war’s auch schon 🙂

Was hat man nun? Wir haben eine RAD Server Ressource erstellt, die auf der „Action“ „List“ die Daten der Resource zurück liefert:

Man kann diese aber (und das ist auch NEU) beeinflussen:

  • Die Eigenschaft „ValueFields“ in der TEMSDataSetResource bestimmt, welche Felder zurückgegeben werden (per Editor konfigurierbar). Ist die Property leer, werden alle Felder zurückgegeben.
  • Die Eigenschaft „PageSize“ gibt die Möglichkeit, die zurückgegebene Datenmenge auf <n> Datensätze zu beschränken (Standard: 50)
    Dies kann man dann im URL-Aufruf umsetzen:

    Fullscreen

     

    1
    http://localhost:8080/irgendwas?page=1
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Der URL-Teil „page“ ist konfigurierbar in der TEMSDataSetResource Komponente (PageParamName)

  • Man kann die Daten sortieren (innerhalb der Page):

    Fullscreen

     

    1
    http://localhost:8080/irgendwas?sfEMP_NO=D
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Dafür steht das „sf“ für das „SortingParamPrefix“ (konfigurierbar in der TEMSDataSetResource Komponente / „SortingParamPrefix„)
    Dann kommt der Feldname (muss in den ValueFields enthalten sein) und dann, nach dem Gleichheitszeichen entweder „A“ (ascending) oder „D“ (descending)

Beides lässt sich auch kombinieren:

Fullscreen

 

1
localhost:8080/irgendwas?page=1&sfEMP_NO=D
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Mehr dazu auch morgen in meinem Webinar:

http://forms.embarcadero.com/de-webinar-rio-launch

See What's New in 12.2 Athens See What's New in 12.2 Athens Dev Days of Summer 2-24

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Kommentieren

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

IN THE ARTICLES