Exportar datos desde un procedumiento almacenado

03/02/2010 - 16:10 por DT | Informe spam
Hola a todos
Tengo un Store Procedure que general varios registros, necesito añadir un
botón en mi formulario que diga "Exportar datos...".
Estos datos pueden ser en formato xls, delimitado por tabulaciones o csv.
Nota, no uso un gridview.

Trabajo con VS2008, C#, Sql Server.
Gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
03/02/2010 - 16:55 | Informe spam
"DT" wrote in message
news:
Tengo un Store Procedure que general varios registros, necesito añadir un
botón en mi formulario que diga "Exportar datos...".
Estos datos pueden ser en formato xls, delimitado por tabulaciones o csv.



Bueno, bastaría con traer los datos del SP mediante el ExecuteReader de
un SqlCommand, y según se van leyendo en un bucle, irlos escribiendo a un
CSV (por ejemplo) mediante un StreamWriter. Sería muy rápido, y es fácil de
programar (no más de una docena de líneas). ¿Con cuál de las partes tienes
problemas?
Respuesta Responder a este mensaje
#2 DT
03/02/2010 - 17:48 | Informe spam
Gracias por tu pronta respuesta
Pues mi problema es en leer el resultado del SP con el StreamWriter

Me informaré, gracias!


"Alberto Poblacion" wrote
in message news:
"DT" wrote in message
news:
Tengo un Store Procedure que general varios registros, necesito añadir un
botón en mi formulario que diga "Exportar datos...".
Estos datos pueden ser en formato xls, delimitado por tabulaciones o csv.



Bueno, bastaría con traer los datos del SP mediante el ExecuteReader de
un SqlCommand, y según se van leyendo en un bucle, irlos escribiendo a un
CSV (por ejemplo) mediante un StreamWriter. Sería muy rápido, y es fácil
de programar (no más de una docena de líneas). ¿Con cuál de las partes
tienes problemas?

Respuesta Responder a este mensaje
#3 Alberto Poblacion
03/02/2010 - 19:29 | Informe spam
"DT" wrote in message
news:
Gracias por tu pronta respuesta
Pues mi problema es en leer el resultado del SP con el StreamWriter



No, el StreamWriter no lee el resultado del SP, lo que hace es escribir el
archivo csv. Para leer el resultado del SP se usa un SqlDataReader.

StreamWriter sw = new StreamWriter("archivo.csv");
SqlConnection conexion = new SqlConnection(cadena);
conexion.Open();
SqlCommand cmd = new SqlCommand("MiProcedimiento", conexion);
cmd.CommandType=CommandType.StoredProcedure;
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
object[] valores = new object[rdr.FieldCount];
int nCampos = rdr.GetValues(valores);

for (int i = 0; i < nCampos-1; i++)
{
sw.Write(valores[i].ToString()+",");
}
sw.WriteLine(valores[nCampos]);
}
rdr.Close();
conexion.Close();
sw.Close();
Respuesta Responder a este mensaje
#4 Nando
24/03/2010 - 10:31 | Informe spam
hola
yo he usado el comando Fileopen para poder grabar un fichero en ascii.

La instruccion seria asi
FileOpen(1, "Ruta del fichero y fichero", OpenMode.Output)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida