¿Cómo puedo convertir un DataSet en un DataReader?¿Cómo puedo convertir DataSet a a DataReader?
Respuesta
Usted puede utilizar el código siguiente para cambiar al conjunto de datos DataReader
:
DataTableReader rd = ds.Tables[0].CreateDataReader();
DataSet
tiene un método llamado CreateDataReader
que creará un DataTableReader
, pero no creo que se puede crear un DataReader
.
conjunto de datos es un objeto desconectado en memoria. DataReader es un objeto unidireccional conectado.
Así que supongo que no es posible.
¿Es realmente necesario?
https://msdn.microsoft.com/en-us/library/system.data.common.dbdatareader(v=vs.110).aspx: lee una secuencia de solo reenvío de filas desde un origen de datos. No dice nada sobre estar "Conectado" a una base de datos. – JJS
Si desea iterar a través de DataSet, no necesita un DataReader. Conjunto de datos es un objeto desconectado en memoria de modo iterar a través de él usando para-cada uno:
foreach(var row in ds.Tables["YourTable"])
{
var value = row.Field<int>("ID"); // etc
}
Tanto DataSet y DataTable exponer una CreateDataReader método que crea un DataTableReader. comprobar estos enlaces -
http://msdn.microsoft.com/en-us/library/system.data.dataset.createdatareader.aspx
http://msdn.microsoft.com/en-us/library/system.data.datatable.createdatareader.aspx
No es posible convertir un conjunto de datos a una DbDataReader.
Sin embargo, puede crear un DbDataReader que leerá los resultados del DataSet llamando al método CreateDataReader en el DataSet.
Sin embargo, esto parece una cosa extraña de querer hacer. Simplemente puede iterar a través de los resultados contenidos en el DataSet usando la propiedad Tables de DataSet y la propiedad The Rows de DataTable. El uso de un DbDataReader le restringiría a reenviar solo el acceso a los resultados. El único beneficio que puedo ver al usar un DbDataReader sería si tuviera una llamada API para hacer una requerida como parámetro.
Si su DataSet es el resultado de un comando SELECT de una base de datos, debería poder obtener un DbDataReader llamando a DbCommand.ExecuteReader(). Esto cortará por completo el conjunto de datos y dará como resultado algo que es más eficiente.
- 1. Diferencia entre Datareader, DataAdapter, Dataset, DataView
- 2. ¿Cómo puedo otorgar a datareader un rol sql?
- 3. ¿Cómo puedo exportar un GridView.DataSource a una datatable o dataset?
- 4. ¿Cómo puedo convertir SQLDataReader a la lista <>
- 5. ¿Linq a SQL o Linq a DataSet?
- 6. Iterar a través de DataSet
- 7. VS2010 - WinForms - DataGridView - Enlace a DataSet
- 8. ¿Qué dispara a ConstraintException al cargar DataSet?
- 9. Cómo convertir el Datareader Resultado de DbType.Time al objeto Timespan?
- 10. AutoMapper Mapeo IEnumerable a DataReader Edición
- 11. ¿Cómo puedo convertir un NSInteger a NSTimeInterval
- 12. ¿Cómo puedo convertir un objeto a Inputstream
- 13. ¿Cómo puedo convertir un NSData a NSArray?
- 14. ¿Cómo puedo convertir Ascii extendido a System.String?
- 15. ¿Cómo puedo convertir el decimal? a decimal
- 16. ¿Cómo puedo convertir HTML a Textil?
- 17. ¿Cómo puedo convertir WriteableBitmap a BitmapImage?
- 18. ¿Cómo puedo convertir una vista a Drawable?
- 19. ¿Cómo puedo convertir DataRow a string Array?
- 20. Cómo convertir un DataTable/DataSet en un ObjectDataSource
- 21. Agregar un DataSet existente a Report .rdlc
- 22. ¿Puedo convertir long a int?
- 23. Unión dinámica de Dataset a RDLC Reports
- 24. convertido dataReader Diccionario
- 25. DataReader o DataSet al extraer varios conjuntos de registros en ASP.NET
- 26. ¿Cómo funciona DataReader?
- 27. DataTable ya pertenece a otro DataSet
- 28. C# (WinForms-App) exportar DataSet a Excel
- 29. ¿Cómo importo de Excel a un DataSet usando Microsoft.Office.Interop.Excel?
- 30. Convertir datatable a lector de datos
Siento que hay una falla en lo que está tratando de hacer. ¿Qué estás tratando de hacer en un nivel superior? – Dann
No puedes. Si desea más explicaciones, brinde más información. –