Como moverme por un Datatable

12/02/2004 - 17:16 por Ambros | Informe spam
Hola a todos

Tengo un problemilla que creo me podréis solucionar.

Ataco a una tabla de SQL Server en un programa C# usando un dataset,
dataadapter y una datatable de la sgte forma:


string auxSQL = "SELECT * from TB_PREVISION WHERE PRODUCT_ID= " +
dblProductoOriginal.ToString ();

System.Data.DataSet auxDataSet = new System.Data.DataSet ();

System.Data.SqlClient.SqlDataAdapter auxDataAdapter = new
System.Data.SqlClient.SqlDataAdapter (new System.Data.SqlClient.SqlCommand
(auxSQL, this.ConexionSQL ));

System.Data.SqlClient.SqlCommandBuilder auxCommand = new
System.Data.SqlClient.SqlCommandBuilder (auxDataAdapter);

auxDataAdapter.FillSchema (auxDataSet,System.Data.SchemaType.Source );

System.Data.DataTable auxDataTable = new System.Data.DataTable ();

auxDataTable = auxDataSet.Tables ["Table"];

auxDataTable.TableName = "TB_PREVISION";



Mi pregunta es: ¿Como me puedo mover por los registros de este datatable? Me
refiero a algo parecido a MoveNext del ADO 2.x

Esto de moverme por los registros lo he hecho con un Datareader pero no es
actualizable, y querría, ya que estoy en una fila determinada, poder
actualizar un campo

¿Me podeis ayudar?

Preguntas similare

Leer las respuestas

#6 Tristan
13/02/2004 - 23:11 | Informe spam
Pero no olvides que DataReader es en muchos casos recomendable. Ten en
cuenta que como te han dicho, DataSet/DataTable es una especie de array, es
decir una estructura en memoria. No siempre ha de ser interesante bajar a
memoria una tabla, y sobre todo nunca si es grande.

Te lo digo para que no cometas el error de confundir un DataTable con un
recordset de ADO, por que son muy distintos. DataTable, vendría a ser
equivalente a un cursor ADO de cliente. En cambio DataReader vendría a ser
igual a un cursor de servidor de solo lectura y solo avance.

En realidad, los DataTable se llenan con el Fill del DataAdapter que
internamente llama a un DataReader. Para volcar los cambios a la base de
datos, se utiliza el método Update del DataAdapter, que llama al comando de
inserción, actualización, o borrado según corresponda por cada fila.
Realmente se puede hacer lo mismo mediante DataReader y comandos.

Juan Carlos Badiola
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida