Example - Updating an object

Top  Previous  Next

次のサンプルはリファレンスでpersonオブジェクトを選択し、リファレンスをpinlockし、address属性を大文字に変換して、変更をデータベースにflushします。

var Person: TOracleObject;

     Street, City: string;

begin

   Query.SQL.Text := 'select ref(P) Person from Persons P';

   Query.Execute;

   while not Query.Eof do

   begin

     Person := Query.RefField('Person').Pin(poLatest, plExclusive);

     Street := Person.GetAttr('Address.Street');

     if Street <> UpperCase(Street) then

       Person.SetAttr('Address.Street', UpperCase(Street));

     City := Person.GetAttr('Address.City');

     if City <> UpperCase(City) then

       Person.SetAttr('Address.City', UpperCase(City));

     if Person.Modified then

       Person.Flush;

     Person.Free;

     Query.Next;

   end;

end;