none
Debe declarar la variable escalar RRS feed

  • Pregunta

  • Buenas tengo un problema en una porsion de codigo, quiere ejecutar un select condicionado con la seleccion de un Dropdownlist pero al seleccionar un iten me salta el error de que Debo declarar la variable escalar en @ddldoc, alguien podria ayudarme
    using (SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ESTADOCURSOConnectionString"].ConnectionString))
            {
                cn.Open();
                string query = "SELECT * FROM DOCENTE WHERE Nombre_docente=@DDLdoc";
                SqlCommand cmd = new SqlCommand(query, cn);
                SqlCommand rea = new SqlCommand(query, cn);
                SqlDataReader dr = rea.ExecuteReader();
    
                cmd.Parameters.Clear();
                cmd.Parameters.AddWithValue("@DDLdoc", DDLdoc.DataTextField);
                cmd.ExecuteNonQuery();
    
                if (dr.Read())
                {
                    Lnombdoc.Text = Convert.ToString(dr["Nombre_docente"]);
                    Lapelldoc.Text = Convert.ToString(dr["Apellido_docente"]);
                    Lcidoc.Text = Convert.ToString(dr["CI_docente"]);
                    Liddoc.Text = Convert.ToString(dr["ID_DOCENTE"]);

    miércoles, 12 de diciembre de 2012 13:54

Respuestas

  • Hola.

    Tienes varios errores.

    Porque usas 2 veces el objeto command.

    SqlCommand cmd = new SqlCommand(query, cn);

    SqlCommand rea = new SqlCommand(query, cn);

    Solo lo tienes que usar una vez.

    Ademas no tienes que usar  cmd.ExecuteNonQuery();

    Tambien para obtener el item del dropdowlist tienes que usar la propiedad SelectedValue.

    cmd.Parameters.AddWithValue("@DDLdoc", Convert.ToString(DDLdoc.SelectedValue));

    Prueba asi.

    using (SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ESTADOCURSOConnectionString"].ConnectionString))
    {
                cn.Open();
                string query = "SELECT * FROM DOCENTE WHERE Nombre_docente=@DDLdoc";
                SqlCommand cmd = new SqlCommand(query, cn);
                cmd.Parameters.AddWithValue("@DDLdoc", Convert.ToString(DDLdoc.SelectedValue));
                SqlDataReader dr = cmd.ExecuteReader();
    
                if (dr.Read())
                {
                    Lnombdoc.Text = Convert.ToString(dr["Nombre_docente"]);
                    Lapelldoc.Text = Convert.ToString(dr["Apellido_docente"]);
                    Lcidoc.Text = Convert.ToString(dr["CI_docente"]);
                    Liddoc.Text = Convert.ToString(dr["ID_DOCENTE"]);
                }
    
    }

    Saludos.



    Cristian Torres
    Blog Cristian Torres

    El Salvador - San Salvador

    • Marcado como respuesta Maximo89 jueves, 13 de diciembre de 2012 14:33
    miércoles, 12 de diciembre de 2012 16:37