Principales respuestas
Mostrar datos de un procedimiento almacenado en un dataset y usarlo en crystal report

Pregunta
-
Hola a todos, estoy utilizando c# 2008 y sql server 2008, la situacion es la siguiente.
Tengo un procedimiento almacenado que hace una suma y despues hace un select de la misma tabla, el codigo es este:
CREATE PROCEDURE ejemploSuma
AS
BEGIN
SELECT SUM(precio) AS suma FROM historialMantenimiento
select * from historialMantenimiento
ENDCuando lo pruebo en sql funciona correctamente, pero cuando cargo el procedimiento almacenado en el dataset solo me muestra la suma y los demas campos no aparecen, alguien me podria decir a que se debe esto y como lo puedo solucionar.
Nunca te rindas
Respuestas
-
hola
[Crystal Reports] Usar DataSet Tipado con dos DataTabla
apunta a lago como en el articulo
o sea puede invocar los procedure o las queries y asignar cada datatable que forman el dataset que cargas al reporte
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Mark0_Ant0n10 lunes, 30 de abril de 2012 19:14
Todas las respuestas
-
Un dataset es capaz de almacenar más de un datatable. Nunca trabajo con datasets porque son muy lentos, así que le dejo de tarea buscar cómo llenar el dataset con múltiples resultados. Seguramente en Google aparece la respuesta rápidamente. Yo empezaría por leer MSDN Online, el tema de SqlDataAdapter.Fill.
Jose R. MCP
-
hola
[Crystal Reports] Usar DataSet Tipado con dos DataTabla
apunta a lago como en el articulo
o sea puede invocar los procedure o las queries y asignar cada datatable que forman el dataset que cargas al reporte
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Mark0_Ant0n10 lunes, 30 de abril de 2012 19:14
-
muchas gracias leandro, tu aporte me sirvio para terminar el proyecto, solo lo tuve que adaptar el código con procedimientos almacenados
public static dsConsultarMantenimientoXPeriodo consultarMantenimientoXPeriodo(DateTime fechaI, DateTime fechaF)
{
dsConsultarMantenimientoXPeriodo d = new dsConsultarMantenimientoXPeriodo();
SqlConnection conexion = new SqlConnection(Base_de_Datos.obtenerCadenaConexion());
{
#region datos
SqlCommand Query = new SqlCommand("consultarMantenimientoXFecha", conexion);
Query.CommandType = CommandType.StoredProcedure;
SqlParameter parametro = new SqlParameter();
Query.Parameters.AddWithValue("@fechaInicio", fechaI);
parametro.SqlDbType = SqlDbType.DateTime;
Query.Parameters.AddWithValue("@fechaTermino", fechaF);
parametro.SqlDbType = SqlDbType.DateTime;
SqlDataAdapter SqlDa = new SqlDataAdapter(Query);
SqlDa.Fill(d, "datos");
#endregion#region periodo
Query = new SqlCommand("consultarFechasPeriodoMantenimiento", conexion);
Query.CommandType = CommandType.StoredProcedure;
parametro = new SqlParameter();
Query.Parameters.AddWithValue("@i", fechaI);
parametro.SqlDbType = SqlDbType.DateTime;
Query.Parameters.AddWithValue("@f", fechaF);
parametro.SqlDbType = SqlDbType.DateTime;
SqlDa = new SqlDataAdapter(Query);
SqlDa.Fill(d, "periodo");
#endregion}
return d;
}Nunca te rindas