PutEntity (TSDataServiceProviderInfo)
De Wiki1000
(Différences entre les versions)
m (a renommé PutEntity (sdata) en PutEntity (TSDataServiceProviderInfo)) |
|||
Ligne 14 : | Ligne 14 : | ||
<source lang="delphi"> | <source lang="delphi"> | ||
− | var | + | var prv:TSDataServiceProviderInfo; inst:RE_Expense; aReason:string; |
begin | begin | ||
− | |||
prv := TSDataServiceProviderInfo.Create; | prv := TSDataServiceProviderInfo.Create; | ||
− | prv.UserName := | + | prv.UserName := 'syfre'; |
− | prv.UserPassword := | + | prv.UserPassword := ''; |
− | prv.EndPointURL := | + | prv.EndPointURL := 'http://syfre/syfre/server/sdata/syfre/ndfContract/-/'; |
− | + | aReason := Format('expense du %s',[FormatDatetime('c',Now)]); | |
− | + | ||
− | + | inst := RE_Expense.Create; | |
− | + | inst.reason := aReason; | |
− | + | inst.dateExpense := Now; | |
+ | inst.quantity := 1; | ||
+ | inst.status.AsVariant := RE_NDF_STATUS_DRAFT; | ||
+ | prv.PostEntity(inst); | ||
+ | |||
+ | inst.quantity := 2; | ||
+ | prv.PutEntity(inst); | ||
+ | |||
+ | inst := prv.GetEntityWhere('RE_Expense','reason=%1','dateExpense',[aReason]) as RE_expense; | ||
+ | if Assigned(inst) then | ||
+ | begin | ||
+ | if inst.quantity=2 | ||
+ | then showMessage('udate ok') | ||
+ | else showMessage(Format('update failed (quantity=%0.2f)',[inst.quantity])); | ||
+ | end | ||
+ | else showMessage('not found after update'); | ||
end; | end; | ||
</source> | </source> |
Version du 9 mai 2011 à 13:12
procedure putEntity(data:TitObject);
Cette fonction met à jour une ressource en effectuant un HTTP PUT de l'entité sur le Service SData.
data | Un objet de type classe d'entité de service distant non persistant. |
Note : En cas d'erreur cette méthode lève une exception et le code de retour et le message correspondant peuvent être obtenu dans lastResultCode et lastResultText |
Exemple :
var prv:TSDataServiceProviderInfo; inst:RE_Expense; aReason:string; begin prv := TSDataServiceProviderInfo.Create; prv.UserName := 'syfre'; prv.UserPassword := ''; prv.EndPointURL := 'http://syfre/syfre/server/sdata/syfre/ndfContract/-/'; aReason := Format('expense du %s',[FormatDatetime('c',Now)]); inst := RE_Expense.Create; inst.reason := aReason; inst.dateExpense := Now; inst.quantity := 1; inst.status.AsVariant := RE_NDF_STATUS_DRAFT; prv.PostEntity(inst); inst.quantity := 2; prv.PutEntity(inst); inst := prv.GetEntityWhere('RE_Expense','reason=%1','dateExpense',[aReason]) as RE_expense; if Assigned(inst) then begin if inst.quantity=2 then showMessage('udate ok') else showMessage(Format('update failed (quantity=%0.2f)',[inst.quantity])); end else showMessage('not found after update'); end;
Voir aussi