2010-07-13 4 views
2

Одна из замечательных вещей с ADO.net заключается в том, что вам не нужно знать, какие типы соединений/команд вы используете (программирование на основе интерфейса). Вы можете использовать соединение для создания команды и команду для создания читателя.Создайте адаптер, не зная тип драйвера

IDbConnectin con = CreateConnection(_connectionString); //factory method 
IDbCommand cmd = con.CreateCommand(); 
IDataReader reader = cmd.ExecuteReader(); 

Но как я могу создать IDataAdapter таким же образом?

ответ

3
Public Overridable Function CreateDataAdapter() As System.Data.Common.DbDataAdapter 
    Member of System.Data.Common.DbProviderFactory 
Summary: 
Returns a new instance of the provider's class that implements the System.Data.Common.DbDataAdapter class. 

Return Values: 
A new instance of System.Data.Common.DbDataAdapter. 

Я сделал то, что вы просите, но я не могу найти код. Я буду обновлять ответ, когда смогу.

+0

Не нужно обновлять. Спасибо, что указал мне в правильном направлении. – jgauffin

+0

Здесь была найдена статья о всей концепции: http://msdn.microsoft.com/en-us/library/t9f29wbk(v=VS.80).aspx – jgauffin

+0

Да, конечно, DbProviderFactory. Неплохо! – Steven