Herhangi bir bağlantı, Sql, OleDb vb. Olabilen bir IDbConnection örneğim var. Genel bir sarıcı yapmak istiyorum, böylece sarıcıya bir bağlantı gönderebilir ve güzel bir set alabilirim kolay manipülasyon için yöntemler. Bir Sorgu yöntemine sahip , ben bir DataTable dönmek istiyorum, bu yüzdenInstantiate IDataAdapter örneğinden IDbConnection
IDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = myCommand;
DataSet ds = new DataSet();
adapter.Fill(ds);
Sorun OleDbAdapter kullanmak zorunda olduğunu yapabilir ve SQL için işe yaramaz, gerçekten istemiyorum "sürücüye özgü" kodu yazın. Örneklenmiş IDbConnection nesnesinden bir IDataAdapter örneği alabilmem için bir yol var mı? Ben
IDbCommand command = _connection.CreateCommand();
Bir IDataAdapter ile aynı şeyi bazı kolay bir yolu olmalı düşünmek yalnızca mantıklıdır yapan bir komut oluşturabilir biliyorum.
DÜZENLEME:
using (var reader = command.ExecuteReader())
{
var dataTable = new DataTable();
dataTable.Load(reader);
}
Eh tam olarak ne istedi ama güzel bir çözüm.
çözüldü nasıl. Eğer bu parçanız varsa, çözümü paylaşmak için [DbProviderFactory.CreateDataAdapter] (http://msdn.microsoft.com/en-us/library/system.data.common.dbproviderfactory.createdataadapter.aspx) – mdisibio
+1 kullanabilirsiniz. IDataReader ile. Veri tabanı bağlantılarını, işlemleri vb. Işlemek için kullanılan özel bir çerçeveye sahibiz, ancak Veri Adaptörlerini desteklemiyor (henüz). IDataReader'ı kullanarak, bu çerçeveyi genişletmek/değiştirmek zorunda kalmadan kullanabiliriz. –
Sorunuzu düzenleme özgürlüğünü [okuyucuyu otomatik olarak kapatır] (http://stackoverflow.com/a/2157331/808151) olan 'using' ifadesini eklemek için aldım. –