Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
C# 2.0 Return DataReader object
Message
 
 
Information générale
Forum:
ASP.NET
Catégorie:
Autre
Versions des environnements
Environment:
C# 2.0
Divers
Thread ID:
01537785
Message ID:
01537818
Vues:
29
>>>>>I have a method that needs to return either OleDbDataReader or SqlDataReader (depends on the back-end database). Within the method I have IF/ELSE where the code is processed accordingly. But in the method signature I can only specify one type of reader. E.g.
>>>>>
>>>>>public OleDbDataReader MethodName()
>>>>>or
>>>>>public SqlDataReader MethodName()
>>>>>
>>>>>
>>>>>Does it mean that I have to split the method into two methods depending on the type of reader I need to return and deal with it at the calling level?
>>>>
>>>>You need to go generic. Here is an example:
>>>>
>>>>
>>>>        Private oCommand As IDbCommand = Nothing
>>>>        Private oCommandText As New Collection
>>>>        Private oDataAdapter As IDbDataAdapter = Nothing
>>>>        Private oDataParameter As IDbDataParameter = Nothing
>>>>        Private oDataReader As IDataReader = Nothing
>>>>
>>>>
>>>>Then, you can use the same properties no matter your backend.
>>>
>>>Thank you. Does it mean that in the signature of the method I will have
>>>
>>>public oDataReader MethodName()
>>>
>>
>>No, it will be
>>public IDataReader MethodName() // that returns DataReader object
>>
>>But do you need to return data reader back? You will not be able to use using then, I think?
>
>Yes, my code that calls this method expects a data reader to be returned (which is shown on the page). And if you are saying it will not work, I will have to split my method into two and call the one according to the back end.
>Thank you.

No, it will work, I think, but you will need to close the reader in your code and also do try/catch in your code. What Michel was showing earlier with USING syntax I don't see how to apply for your scenario if you create reader in one method and work with it in another.
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform