No se puede recorrer la coleccion de filas de un DataSet y despues agregarle una columna?

16/10/2003 - 20:32 por Oscar Calvo | Informe spam
Hola a todos
tengo un dataSet y recorro todas las filas del mismo para sacar la suma de
varios valores, uno de ellos por ejemplo "total Ventas"
La cosa es que cuando acabo de recorrerlo necesito añadirle un campo
calculado (donde uno de los operandos es un valor de esos que he sumado
anteriormente) La cosa queda asi:

foreach(DataRow fila in ds.Tables[0].Rows)
{
if (fila["totalVentas"]!=null)
{
this._totalVendido+=Convert.ToDouble(fila["totalVentas"]);
}
if (fila["totalUnidades"]!=null)
{
this._totalUnidadesVendidas+=Convert.ToInt32(fila["totalUnidades"]);
}
if (fila["EurosAbonados"]!=null)
{
this._totalAbonos+=Convert.ToDouble(fila["EurosAbonados"]);
}
}
ds.Tables[0].Columns.Add("%sobreTotal",typeof(double),"(totalVentas
/"+this.totalVentas+")*100)");

(el if de cada fila comparandolo con null no se si esta bien, pero no
importa)

la cosa es que en me da "error de sintaxis" en la ultima fila, la de agregar
la columna.Pero si cambio dicha linea a antes del foreach el programa se
ejecuta perfectamente (pero como la propiedad "totalVentas" aun no esta
calculada los valores de las filas son erroneos)
Es por ello que no se si tendra algo que ver con cursores o algo asi
Me podeis echar una mano?

gracias y un saludo
 

Leer las respuestas

#1 Oscar Calvo
22/10/2003 - 18:44 | Informe spam
problema resuelto, era un problema de conversion de tipos
gracias y un saludo
"Oscar Calvo" escribió en el mensaje
news:
Hola a todos
tengo un dataSet y recorro todas las filas del mismo para sacar la suma de
varios valores, uno de ellos por ejemplo "total Ventas"
La cosa es que cuando acabo de recorrerlo necesito añadirle un campo
calculado (donde uno de los operandos es un valor de esos que he sumado
anteriormente) La cosa queda asi:

foreach(DataRow fila in ds.Tables[0].Rows)
{
if (fila["totalVentas"]!=null)
{
this._totalVendido+=Convert.ToDouble(fila["totalVentas"]);
}
if (fila["totalUnidades"]!=null)
{



this._totalUnidadesVendidas+=Convert.ToInt32(fila["totalUnidades"]);
}
if (fila["EurosAbonados"]!=null)
{
this._totalAbonos+=Convert.ToDouble(fila["EurosAbonados"]);
}
}
ds.Tables[0].Columns.Add("%sobreTotal",typeof(double),"(totalVentas
/"+this.totalVentas+")*100)");

(el if de cada fila comparandolo con null no se si esta bien, pero no
importa)

la cosa es que en me da "error de sintaxis" en la ultima fila, la de


agregar
la columna.Pero si cambio dicha linea a antes del foreach el programa se
ejecuta perfectamente (pero como la propiedad "totalVentas" aun no esta
calculada los valores de las filas son erroneos)
Es por ello que no se si tendra algo que ver con cursores o algo asi
Me podeis echar una mano?

gracias y un saludo


Preguntas similares