peter_rossa
I'm new here

Auslesen der Datensätze

Hallo,

ich möchte gern die Datensätze einer Tabelle auslesen, weis aber nicht wie ich von dem Contentfolder dorthin gelange. Hat jemand eine Idee?

Vielen Dank im Voraus!

0 Kudos
13 Replies
thmarx
I'm new here

Hallo Peter,

wie bei jedem StoreElement kommst du mit getChildren an die Kinder dran. Allerdings möchtest du ja an die Datensätze ran und an die wirst so nicht dran kommen (glaube ich). Ein Beispiel, wie du an Datensätze kommst findest du hier

Viele Grüße

Thorsten

0 Kudos
tklein
I'm new here

ContentStoreRoot.getContent2ByName("nameDeinerDatenquelle");

und dann kommst mit getData() an die Datensätze. Siehe dazu: http://www.e-spirit.com/odfs50/access/de/espirit/firstspirit/access/store/contentstore/Content2.html...

Vielen Dank Tobias.

Das funktioniert soweit. Jedoch stehe ich nun vor dem nächsten Problem.

Ich möchte jeden freigegebenen Datensatz einmal in Bearbeitungsmodus schalten, speichern und wieder aus dem Bearbeitungsmodus.

muss ich dabei setValue(Attribute<T> attribute, T value) bzw. setValue(String name, T value)benutzen?

Falls ja, woher bekomme ich dann das Attribut bzw. den Name?

Viele Grüße

0 Kudos

Hallo Peter,

einen freigegebenen Datensatz bearbeiten geht nicht. Warum willst du das tun? Du kannst den aktuellen Stand bearbeiten und wieder freigeben.

Die setValue brauchst du nicht. Was du brauchst ist:

(bei exklusiven Bearbeiten von Datensätzen vgl. Projekteigenschaften)

Content2.lock(Entity entity)

StoreElement.save(String comment, boolean saveChilds)

Content2.release(Entity entity)

Content2.unlock(Entity entity)

Viele Grüße

0 Kudos

Danke für die Antwort.

Ich meinte, ich will erst checken, ob der Datensatz schhon einmal frei gegeben war, und dieser soll dann geändert werden.

Mir ist nicht ganz klar, wie ich die Enity bekomme.

ich hole mir ja erst den store mit:

storeAgent = context.requireSpecialist(StoreAgent.TYPE);

contentstore = storeAgent.getStore(Store.Type.CONTENTSTORE, false);   

dann das Content2 Element (also die Tabelle "farben"):

content2 = contentstore.getContent2ByName("farben");

nun müsste ich ja die Elemente auslesen und evtl. dann die Bearbeitungsschritte

         Content2.lock(Entity entity)

         StoreElement.save(String comment, boolean saveChilds)

         Content2.release(Entity entity)

         Content2.unlock(Entity entity)

durchführen.

ich habe versucht, mit

          elemente = content2.getData();

an die elemente zu kommen, und diese dann in einer FOR schleife als Entity einzusetzen, jedoch ohne Erfolg.

Wo liegt mein fehler?

0 Kudos

Hallo Peter,

How to work with entities sollte dir weiterhelfen. Da ist das grundlegende Vorgehen beschrieben.

Viele Grüße

Christoph

0 Kudos

ob er aktuell freigegeben ist geht mit Entity.isReleased().

genau das getData() gibt ne List<? extends Entity> zurück. Darüber kannst du iterieren. Hast du einen Fehler bekommen oder warum hattest du keinen Erfolg?

0 Kudos
peter_rossa
I'm new here

leider ist das Ticket ncoh nicht beantwortet. Im zuge meiner Programmierung ist ein weiteres Problem diesbezüglich aufgekommen.

Ich benötige den Zeitstempel der letzten Freigabe eines Datensatzes. Ich bekomme zwar die Entity und kann auch auf die Felder zugreifen, jedoch ist in der Liste nicht der Zeitstempel enthalten, nur die Eingabefelder.

Das Objekt ist vom Typ Entity.

Vielen Dank im Voraus!

0 Kudos

Hallo Peter,

auf dem Entity kannst du getIdentifier() ausführen. Dort kannst du auf "valid from" zugreifen. Das ist der gewünschte Zeitstempel.

Viele Grüße

Christoph