StoredProcedure usando DataReader

16/04/2006 - 02:46 por Spider25 | Informe spam
Hola, no se que falla en mi code

SqlConnection cn = new SqlConnection ("server=.; database=jfinvergraf;
Trusted_Connection=false; uid=sa; ");
SqlDataAdapter daProductos = new SqlDataAdapter();
DataSet dsProductos = new DataSet();
SqlCommand cmProductos=new SqlCommand("ver_producto",cn);
cmProductos.CommandType=CommandType.StoredProcedure;
SqlParameter categoria =
cmProductos.Parameters.Add("@categoria",SqlDbType.VarChar, 15);
categoria.Value=comboBox1.Text;
cn.Open();
SqlDataReader sdr = cmProductos.ExecuteReader();
MessageBox.Show(categoria.Value.ToString());


Al ejecutar el MessageBox dice que no funciona porque no hay datos, pero ya
he probado el StoredProcedure en el QA SQL,...

Alguien sabe la respuesta?


Saludos

pD: El SP simplemente trae todos los productos de una categoría, que en este
caso arroja un sólo resultado.

:S

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
16/04/2006 - 10:38 | Informe spam
"Spider25" wrote in message
news:
Mostrar la cita
Veo que tratas de sacar el resultado del parámetro categoria, por lo que
asumo que el procedimiento almacenado declara dicho parámetro como OUTPUT y
devuelve dentro el resultado. En ese caso, te faltan un par de cosas para
que funcione:

- Hay que definir en el fuente la dirección del parámetro:
categoria.Direction = ParameterDirection.InputOutput;

- Hay que cerrar el DataReader antes de poder leer el parámetro, porque
el DataReader mantiene ocupada la conexión hasta que se cierra y no permite
hacer nada más a través de ella, ni siquiera recibir parámetros:
cn.Open();
SqlDataReader sdr = cmProductos.ExecuteReader();
//sdr.Read...si fuera necesario
sdr.Close();
MessageBox.Show(categoria.Value.ToString());
cn.Close();
Ads by Google
Search Busqueda sugerida