Kundenspezifische Haken in TierDeveloper
| by Ann Morris | January 07, 2005
Kundenspezifische Haken ist die eine andere leistungsfähige und meiste fordernde Eigenschaft, die von TierDeveloper zur Verfügung gestellt wird. Kundenspezifische Haken arbeiten wie Datenbankauslöser. Es könnte deine eigene Geschäft Logik sein, die du vor oder nach dem Durchführen etwas Datenbanktätigkeiten aktivieren kannst. PreHooks und PostHooks sind zwei Möglichkeiten, vorausgesetzt durch TierDeveloper, durch den du deine eigene Logik im erzeugten Code einbetten kannst. Vor werden Hakenmethoden benannt, bevor der Datenbankzugriff durchgeführt wird, während Pfostenhakenmethoden benannt werden, nachdem die Datenbankbetriebe durchgeführt sind.
Kundenspezifische Haken können spezifiziert werden, wohin Datenbankzugriff durchgeführt wird. Er schließt Standardbetriebe, Frage Methoden, Massenbetriebe und kundenspezifische Betriebe ein. Benutzer kann skeleton Code für kundenspezifische Haken der vorgewählten Methoden erzeugen, oder he/she kann seine/ihr eigene Hakenkategorie benutzen.
Für deine Bequemlichkeit und besseres Verständnis habe ich Beispielcode hier verzeichnet, der zeigt, wie TierDeveloper kundenspezifische Haken im erzeugten Code einbetten. Es ist hübsches self-explanatory.public leeres UpdateCustomerInfo (Kunden objInfo) {Versuch {… ……. ..........……. ....... Spannt CustomersHooks = neues CustomersHooks an (); Status = hooks.PreUpdateCustomerInfo (getConnection (System.Data.SqlClient.SqlConnection) (), objInfo); wenn (Status! = CustomersHooks.SUCCESS_CONTINUE) {SetStatus (Status == CustomersHooks.FAIL_NONCONTINUE? EStatus.eFail: EStatus.eSuccess); ReleaseCommand (); Rückkehr;}AddCmdParameter („@CompanyName“, TDevFramework.EDataType.eVarchar, objInfo.CompanyName, TDevFramework.EParamDirection.eInput, objInfo.IsNull („CompanyName“)); … ……. ..........……. ..........……. ....... ExecuteNonQuery (); Status = hooks.PostUpdateCustomerInfo (getConnection (System.Data.SqlClient.SqlConnection) (), objInfo); wenn (Status! = CustomersHooks.SUCCESS_CONTINUE) {… ……. ..........……. ....... Rückkehr;}SetStatus (EStatus.eSuccess); ReleaseCommand ();}Verriegelung (Ausnahme e) {… ……. ..........……. ....... Throw e;}} allgemeine Kategorie CustomersHooks {allgemeines const intern SUCCESS_CONTINUE = 0; allgemeines const intern SUCCESS_NONCONTINUE = 1; allgemeines const intern FAIL_NONCONTINUE = 2; allgemeines internes PreUpdateCustomerInfo (System.Data.SqlClient.SqlConnection Anschl., Kunden objInfo) {/. ……. //……. Dein eigenes Code herereturn SUCCESS_CONTINUE setzen;}allgemeines internes PostUpdateCustomerInfo (System.Data.SqlClient.SqlConnection Anschl., Kunden objInfo) {//…. …. ……. //…. … deinen eigenen Code here.return SUCCESS_CONTINUE setzen;}}
Kundenspezifische Haken können spezifiziert werden, wohin Datenbankzugriff durchgeführt wird. Er schließt Standardbetriebe, Frage Methoden, Massenbetriebe und kundenspezifische Betriebe ein. Benutzer kann skeleton Code für kundenspezifische Haken der vorgewählten Methoden erzeugen, oder he/she kann seine/ihr eigene Hakenkategorie benutzen.
Für deine Bequemlichkeit und besseres Verständnis habe ich Beispielcode hier verzeichnet, der zeigt, wie TierDeveloper kundenspezifische Haken im erzeugten Code einbetten. Es ist hübsches self-explanatory.public leeres UpdateCustomerInfo (Kunden objInfo) {Versuch {… ……. ..........……. ....... Spannt CustomersHooks = neues CustomersHooks an (); Status = hooks.PreUpdateCustomerInfo (getConnection (System.Data.SqlClient.SqlConnection) (), objInfo); wenn (Status! = CustomersHooks.SUCCESS_CONTINUE) {SetStatus (Status == CustomersHooks.FAIL_NONCONTINUE? EStatus.eFail: EStatus.eSuccess); ReleaseCommand (); Rückkehr;}AddCmdParameter („@CompanyName“, TDevFramework.EDataType.eVarchar, objInfo.CompanyName, TDevFramework.EParamDirection.eInput, objInfo.IsNull („CompanyName“)); … ……. ..........……. ..........……. ....... ExecuteNonQuery (); Status = hooks.PostUpdateCustomerInfo (getConnection (System.Data.SqlClient.SqlConnection) (), objInfo); wenn (Status! = CustomersHooks.SUCCESS_CONTINUE) {… ……. ..........……. ....... Rückkehr;}SetStatus (EStatus.eSuccess); ReleaseCommand ();}Verriegelung (Ausnahme e) {… ……. ..........……. ....... Throw e;}} allgemeine Kategorie CustomersHooks {allgemeines const intern SUCCESS_CONTINUE = 0; allgemeines const intern SUCCESS_NONCONTINUE = 1; allgemeines const intern FAIL_NONCONTINUE = 2; allgemeines internes PreUpdateCustomerInfo (System.Data.SqlClient.SqlConnection Anschl., Kunden objInfo) {/. ……. //……. Dein eigenes Code herereturn SUCCESS_CONTINUE setzen;}allgemeines internes PostUpdateCustomerInfo (System.Data.SqlClient.SqlConnection Anschl., Kunden objInfo) {//…. …. ……. //…. … deinen eigenen Code here.return SUCCESS_CONTINUE setzen;}}
Article Source: http://www.articleset.com

You are welcome to publish or reprint this article free of charge, provided:
- you include the entire article, unchanged, including the "About The Author" box
- all hyperlinks remain active, including the bottom ArticleSet.com link (does not apply to print publications)
- you agree not to hold the authors nor ArticleSet.com liable for any loss profits, expenses, or any other damages resulting from the use or misuse of articles published on this website