Ganci su ordinazione in TierDeveloper
| by Ann Morris | January 07, 2005
Les crochets faits sur commande est autre d'un dispositif puissant et la plupart exigeant fourni par TierDeveloper. Les crochets faits sur commande fonctionnent comme des déclenchements de base de données. Ce pourrait être votre propre logique d'affaires que vous pouvez activer avant ou après effectuer quelques actions de base de données. PreHooks et PostHooks sont deux manières, si par TierDeveloper, par lequel vous pouvez inclure votre propre logique dans le code produit. Pré des méthodes de crochet s'appellent avant que l'accès aux bases de données soit effectué tandis que des méthodes de crochet de poteau s'appellent après que les opérations de base de données soient effectuées.
Des crochets faits sur commande peuvent être indiqués partout où l'accès aux bases de données est effectué. Il inclut des opérations standard, des méthodes de question, des opérations en bloc et des opérations faites sur commande. L'utilisateur peut produire du code squelettique pour les crochets faits sur commande des méthodes choisies ou he/she peut employer sa propre classe de crochets.
Pour votre convenance et meilleur arrangement j'ai énuméré le code d'échantillon ici qui montre comment TierDeveloper enfoncent les crochets faits sur commande dans le code produit. C'est joli self-explanatory.public UpdateCustomerInfo vide (objInfo de clients) {l'essai {… ……. ..........……. ....... CustomersHooks s'accroche = nouveau CustomersHooks () ; statut = hooks.PreUpdateCustomerInfo (getConnection (System.Data.SqlClient.SqlConnection) (), objInfo) ; si (statut ! = CustomersHooks.SUCCESS_CONTINUE) {SetStatus (== CustomersHooks.FAIL_NONCONTINUE de statut ? EStatus.eFail : EStatus.eSuccess) ; ReleaseCommand () ; retour ;}AddCmdParameter (« @CompanyName », TDevFramework.EDataType.eVarchar, objInfo.CompanyName, TDevFramework.EParamDirection.eInput, objInfo.IsNull (« CompanyName »)); … ……. ..........……. ..........……. ....... ExecuteNonQuery () ; statut = hooks.PostUpdateCustomerInfo (getConnection (System.Data.SqlClient.SqlConnection) (), objInfo) ; si (statut ! = CustomersHooks.SUCCESS_CONTINUE) {… ……. ..........……. ....... retour ;}SetStatus (EStatus.eSuccess) ; ReleaseCommand () ;}crochet (exception e) {… ……. ..........……. ....... jet e ;}} classe publique CustomersHooks {const public interne SUCCESS_CONTINUE = 0 ; const public interne SUCCESS_NONCONTINUE = 1 ; const public interne FAIL_NONCONTINUE = 2 ; PreUpdateCustomerInfo interne public (objInfo de conn., de clients de System.Data.SqlClient.SqlConnection) {/. ……. //……. Mettre votre propre herereturn SUCCESS_CONTINUE de code ;}PostUpdateCustomerInfo interne public (objInfo de conn., de clients de System.Data.SqlClient.SqlConnection) {//…. …. ……. //…. … mettre votre propre code here.return SUCCESS_CONTINUE ;}}
Des crochets faits sur commande peuvent être indiqués partout où l'accès aux bases de données est effectué. Il inclut des opérations standard, des méthodes de question, des opérations en bloc et des opérations faites sur commande. L'utilisateur peut produire du code squelettique pour les crochets faits sur commande des méthodes choisies ou he/she peut employer sa propre classe de crochets.
Pour votre convenance et meilleur arrangement j'ai énuméré le code d'échantillon ici qui montre comment TierDeveloper enfoncent les crochets faits sur commande dans le code produit. C'est joli self-explanatory.public UpdateCustomerInfo vide (objInfo de clients) {l'essai {… ……. ..........……. ....... CustomersHooks s'accroche = nouveau CustomersHooks () ; statut = hooks.PreUpdateCustomerInfo (getConnection (System.Data.SqlClient.SqlConnection) (), objInfo) ; si (statut ! = CustomersHooks.SUCCESS_CONTINUE) {SetStatus (== CustomersHooks.FAIL_NONCONTINUE de statut ? EStatus.eFail : EStatus.eSuccess) ; ReleaseCommand () ; retour ;}AddCmdParameter (« @CompanyName », TDevFramework.EDataType.eVarchar, objInfo.CompanyName, TDevFramework.EParamDirection.eInput, objInfo.IsNull (« CompanyName »)); … ……. ..........……. ..........……. ....... ExecuteNonQuery () ; statut = hooks.PostUpdateCustomerInfo (getConnection (System.Data.SqlClient.SqlConnection) (), objInfo) ; si (statut ! = CustomersHooks.SUCCESS_CONTINUE) {… ……. ..........……. ....... retour ;}SetStatus (EStatus.eSuccess) ; ReleaseCommand () ;}crochet (exception e) {… ……. ..........……. ....... jet e ;}} classe publique CustomersHooks {const public interne SUCCESS_CONTINUE = 0 ; const public interne SUCCESS_NONCONTINUE = 1 ; const public interne FAIL_NONCONTINUE = 2 ; PreUpdateCustomerInfo interne public (objInfo de conn., de clients de System.Data.SqlClient.SqlConnection) {/. ……. //……. Mettre votre propre herereturn SUCCESS_CONTINUE de code ;}PostUpdateCustomerInfo interne public (objInfo de conn., de clients de System.Data.SqlClient.SqlConnection) {//…. …. ……. //…. … mettre votre propre code here.return SUCCESS_CONTINUE ;}}
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