PutEntity (TSDataServiceProviderInfo)

De Wiki1000
(Différences entre les versions)
(Page créée avec « <source lang='delphi'>procedure putEntity(data:TitObject);</source> Cette fonction met à jour une ressource en effectuant un HTTP PUT de l'entité sur le Service SData. {|… »)
 
 
(2 révisions intermédiaires par un utilisateur sont masquées)
Ligne 14 : Ligne 14 :
  
 
<source lang="delphi">
 
<source lang="delphi">
var data:remoteEntity;
+
var prv:TSDataServiceProviderInfo; inst:RE_Expense; aReason:string;
 
begin
 
begin
  // create an instance of sdata service provider
 
 
   prv := TSDataServiceProviderInfo.Create;
 
   prv := TSDataServiceProviderInfo.Create;
   prv.UserName := userName;
+
   prv.UserName := 'syfre';
   prv.UserPassword := jeton;  
+
   prv.UserPassword := '';
   prv.EndPointURL := endpoint;
+
   prv.EndPointURL := 'http://syfre/syfre/server/sdata/syfre/ndfContract/-/';
  
   // Update an entity
+
   aReason := Format('expense du %s',[FormatDatetime('c',Now)]);
   //
+
 
   data := prv.GetEntity('remoteEntity','id=%1',[remoteID]);
+
   inst := RE_Expense.Create;
   data.someProperty := newValue;
+
   inst.reason := aReason;
  prv.putEntity(data);
+
  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>
Ligne 35 : Ligne 49 :
  
 
{{Footer|TSDataServiceProviderInfo (class)}}
 
{{Footer|TSDataServiceProviderInfo (class)}}
 +
[[Category:Stéréotype entité de service distant]]

Version actuelle en date du 15 mars 2013 à 09:04

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.
Info-20px.png 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

TSDataServiceProviderInfo (class)Développement DSM

Outils personnels