>>>>>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.
Wrong... see my reply to you...