J'ai une fonction qui est normalement appelée lors d'une boucle dans un SqlDataReader, qui va prendre des données de ce SqlDataReader et faire des choses avec lui.Comment est-ce que je peux faire une fonction qui peut prendre un SQLDataReader et un DBDataRecord en tant que paramètre?
Maintenant, je dois être en mesure d'appeler aussi à l'intérieur d'un objet Repeater lié de données, qui est également liée à un SqlDataReader ...
Dans le contrôle DataBound, en cas de « OnDataBinding », je normalement ce faire, lors de la liaison à un DataSet:
RepeaterItem Binder = (RepeaterItem) Me.NamingContainer;
DataRowView rowResult = (DataRowView) Binder.DataItem;
maintenant, depuis que je suis lier à un DataReader, j'ai essayé:
SqlDataReader rowResult = (SqlDataReader) Binder.DataItem;
Et cela ne fonctionne pas, car apparemment DataItem est de type DataRecordInternal
J'ai pu le jeter à un « DbDataRecord », et je peux accéder à ses valeurs, mais je ne peux évidemment pas passer comme paramètre à la fonction qui attend un SqlDataReader ...
Je ne trouve pas non plus de classe de base ou d'interface qu'ils ont tous les deux en commun, à utiliser pour le paramètre ...
Ce qui me dérange le plus ici, c'est comment, grâce à la liaison de données, le SqlDataReader est "transformé en "un DbDataRecord. Si je pouvais le faire dans ma fonction, je pourrais avoir 2 surcharges: Une qui prend un DbDataRecord et fait son travail, et une qui prend un SqlDataReader, "le convertit" en un DbDataRecord, et appelle la première surcharge.
Des idées?
Merci!
Oui! Je vous remercie!!! –