« PutEntity (TSDataServiceProviderInfo) » : différence entre les versions
m (a renommé PutEntity (sdata) en PutEntity (TSDataServiceProviderInfo)) |
Aucun résumé des modifications |
||
| 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 à 12: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