Comment obtiendriez-vous les objets de commande SQL pour un TableAdapter donné et un SqlDataAdapter en C # (.NET 2.0)

StackOverflow https://stackoverflow.com/questions/102623

Question

Je crée une classe générique de traitement / de consignation des erreurs pour nos applications. L'objectif est de consigner les informations sur l'exception, les informations sur la classe et la fonction (ainsi que les paramètres) et, le cas échéant, les informations sur l'objet System.Data.SqlClient.SqlCommand .

Je voudrais pouvoir gérer le passage de SqlCommands , TableAdaptors et SqlDataAdaptors .

Je commence à utiliser la réflexion et je sais qu’il est possible de le faire. Je ne sais pas comment procéder. S'il vous plaît aviser.

Était-ce utile?

La solution

Est-ce ce dont vous parlez?

SqlDataAdapter da = new SqlDataAdapter();
var cmd1 = ((IDbDataAdapter)da).DeleteCommand;
var cmd2 = ((IDbDataAdapter)da).UpdateCommand;
var cmd3 = ((IDbDataAdapter)da).SelectCommand;
var cmd4 = ((IDbDataAdapter)da).InsertCommand;

Le SqlDataAdapter implémente IDbDataAdapter, qui possède des getters / setters pour toutes les commandes CRUD. Le SqlDataAdapter les implémente explicitement, afin qu'ils n'apparaissent pas dans la signature de la classe à moins que vous ne le convertissiez d'abord dans l'interface. Aucune réflexion nécessaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top