{"id":210,"date":"2017-09-06T12:41:54","date_gmt":"2017-09-06T12:41:54","guid":{"rendered":"http:\/\/hahne-software.de\/?p=210"},"modified":"2017-09-18T12:59:32","modified_gmt":"2017-09-18T12:59:32","slug":"daten-speichern-und-laden","status":"publish","type":"post","link":"https:\/\/hahne-software.de\/?p=210","title":{"rendered":"Daten speichern und laden"},"content":{"rendered":"<p>Daten speichern und laden mit einer von <strong>TStorableObject<\/strong> abgeleiteten Klasse.<\/p>\n<p>Vor dem Speichern der Daten wird \u00fcberpr\u00fcft ob die Eigenschaft ID einen Wert gr\u00f6sser 0 hat. Ist dies der Fall so wird der Datensatz per SQL Update aktualisiert, ist die ID 0 so wird der Datensatz per SQL Insert eingef\u00fcgt.<\/p>\n<p>Angenommen die von TStorableObject abgeleitete Klasse TCustomer enth\u00e4lt folgende Felder:<\/p>\n<p>Name, Surname, ZIP, Place, Street<\/p>\n<pre><strong>procedure<\/strong> TForm1.Load;\r\n\r\n<strong>var<\/strong> cus : TCustomer;\r\n\r\n<strong>begin<\/strong>  \/\/ Einen neuen Datensatz anlegen\r\n\r\n  <span style=\"color: #3366ff;\">\/\/ Objekt anlegen\r\n<\/span>\r\n  cus:=TCustomer.Create(StorageProvider);\r\n\r\n  <span style=\"color: #3366ff;\">\/\/ Eigenschaften f\u00fcllen\r\n<\/span>\r\n  cus.Name:='Hahne';\r\n  cus.Surname:='Hans-J\u00fcrgen';\r\n  cus.ZIP:='99999';\r\n  cus.Place:='New York';\r\n  cus.Street:='Park Avenue 5';\r\n\r\n <span style=\"color: #3366ff;\"> \/\/ Datensatz speichern<\/span>  \r\n\r\n  cus.Save;\r\n\r\n  <span style=\"color: #3366ff;\">\/\/ Datensatz wieder laden \u00fcber die erzeugte ID<\/span>  \r\n\r\n  cus.Load(cus.ID);\r\n<strong>end<\/strong>;<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Daten speichern und laden mit einer von TStorableObject abgeleiteten Klasse. Vor dem Speichern der Daten wird \u00fcberpr\u00fcft ob die Eigenschaft ID einen Wert gr\u00f6sser 0 hat. Ist dies der Fall so wird der Datensatz per SQL Update aktualisiert, ist die ID 0 so wird der Datensatz per SQL Insert eingef\u00fcgt. Angenommen die von TStorableObject abgeleitete [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,3],"tags":[],"class_list":["post-210","post","type-post","status-publish","format-standard","hentry","category-delphi","category-storableobjects"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/hahne-software.de\/index.php?rest_route=\/wp\/v2\/posts\/210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hahne-software.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hahne-software.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hahne-software.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hahne-software.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=210"}],"version-history":[{"count":7,"href":"https:\/\/hahne-software.de\/index.php?rest_route=\/wp\/v2\/posts\/210\/revisions"}],"predecessor-version":[{"id":241,"href":"https:\/\/hahne-software.de\/index.php?rest_route=\/wp\/v2\/posts\/210\/revisions\/241"}],"wp:attachment":[{"href":"https:\/\/hahne-software.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hahne-software.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hahne-software.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}