4D v19entity.save( ) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
entity.save( )
|
Eigenschaft | Typ | Beschreibung | |
success | Boolean | wahr bei erfolgreichem Sichern, sonst falsch | |
Nur bei Verwenden von dk auto merge verfügbar: | |||
autoMerged | Boolean | wahr bei Ausführen von "auto merge", sonst falsch | |
Nur bei Fehler verfügbar: | |||
status(*) | Zahl | Fehlercode, siehe unten | |
statusText(*) | Text | Fehlerbeschreibung, siehe unten | |
Nur bei Fehler beim pessimistischen Sperrverfahren verfügbar: | |||
lockKindText | Text | "Gesperrt durch Datensatz" | |
lockInfo | Objekt | Information über Ursprung des Sperrens | |
task_id | Zahl | Prozess Id | |
user_name | Text | Benutzername der Sitzung auf dem Rechner | |
user4d_id | Zahl | Benutzernummer | |
host_name | Text | Rechnername | |
task_name | Text | Prozessname | |
client_version | Text | ||
Nur bei ernstem Fehler verfügbar (z.B. Primärschlüssel existiert bereits, Festplatte voll...): | |||
errors | Collection von Objekten | ||
message | Text | Fehlermeldung | |
componentSignature | Text | interne Signatur der Komponente (z.B. "dmbg" steht für die Datenbankkomponente) | |
errCode | Zahl | Fehlercode |
(*) Bei einem Fehler in den Eigenschaften status und statusText des Objekts Result können folgende Werte zurückgegeben werden:
Konstante | Wert | Kommentar |
dk status automerge failed | 6 | (Nur bei Verwenden der Option dk auto merge) Der Modus automatisches Mischen beim Sichern der Entity ist fehlgeschlagen. Zugewiesener Statustext: "Auto merge failed" |
dk status entity does not exist anymore | 5 | Die Entity existiert nicht mehr in den Daten. Dieser Fehler kann in folgenden Fällen auftreten:
Zugewiesener Statustext: "Entity does not exist anymore" |
dk status locked | 3 | Die Entity wird durch pessimistisches Sperrverfahren gesperrt. Zugewiesener Statustext: "Already locked" |
dk status serious error | 4 | Ein ernsthafter Fehler ist ein low-level Fehler in der Anwendung, wie z.B. duplizierter Schlüssel, Hardware Fehler, etc. Zugewiesener Statustext: "Other error" |
dk status stamp has changed | 2 | Der interne Stempelwert der Entity passt nicht zum Wert der in den Daten gespeicherten Entity (optimistisches Sperrverfahren).
|
Eine neue Entity erstellen:
C_OBJECT($status;$employee)
$employee:=ds.Employee.new()
$employee.firstName:="Mary"
$employee.lastName:="Smith"
$status:=$employee.save()
If($status.success)
ALERT("Employee created")
End if
Eine Entity ohne die Option dk auto merge aktualisieren:
C_OBJECT($status;$employees;$employee)
$employees:=ds.Employee.query("lastName=:1";"Smith")
$employee:=$employees.first()
$employee.lastName:="Mac Arthur"
$status:=$employee.save()
Case of
:($status.success)
ALERT("Employee updated")
:($status.status=dk status stamp has changed)
ALERT($status.statusText)
End case
Eine Entity mit der Option dk auto merge aktualisieren:
C_OBJECT($status;$employees;$employee)
$employees:=ds.Employee.query("lastName=:1";"Smith")
$employee:=$employees.first()
$employee.lastName:="Mac Arthur"
$status:=$employee.save(dk auto merge)
Case of
:($status.success)
ALERT("Employee updated")
:($status.status=dk status automerge failed)
ALERT($status.statusText)
End case
Produkt: 4D
Thema: ORDA - Entity
4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)