Ayuda con una funcion agregada Sum(DateTime) en un DataTable

18/04/2008 - 01:06 por edcha | Informe spam
estoy tratando de usar la siguiente funcion agregada.
string time = trabajadoresTable.Compute("Sum(DateTime)",
"").ToString();

Necesito sumar todas las horas que estan en la columna "DateTime".
si fueran números la suma mediante
"trabajadoresTable.Compute("Sum(pago)", "")" se efectua bien
pero al ser la columna del tipo DateTime me da el siguiente error


Se generó la excepción System.Data.DataException en el programa:
Uso no válido de la función de agregado Sum() y el tipo: DateTime.

¿como hago para sumar las horas si es del tipo DateTime?


Gracias
 

Leer las respuestas

#1 Alberto Poblacion
21/04/2008 - 14:12 | Informe spam
"edcha" wrote in message
news:
estoy tratando de usar la siguiente funcion agregada.
string time = trabajadoresTable.Compute("Sum(DateTime)",
"").ToString();



Eso no puede funcionar. ¿Qué significa una suma de fechas? La operación
de sumar no tiene sentido sobre un campo de tipo "fecha".

Necesito sumar todas las horas que estan en la columna "DateTime".



Si lo que quieres sumar es un número de horas, tienes que hacer previamente
las operaciones necesarias para extraer las horas desde el DateTime a un
campo numérico, y luego hacer la suma de ese campo numérico. Si lo hicieras
sobre un SQL Server pondrías Sum(DatePart(hh,Campo)), pero hasta donde yo
sé, el "Compute" de un DataTable no contiene una función como el DatePart
para sacar las horas desde una fecha, así que tendrás que hacer la operación
desde código tuyo usando un bucle que recorra los registros (en lugar del
"Compute").

Preguntas similares