[ Foro de C# ]

No me llena Grid

06-Aug-2015 04:55
aaaaaaa bbbbbbb
1 Respuestas

Hola, como les va, disculpen que los moleste, consulto por lo siguiente:

es un método Leer() que se ejecuta en el BotonConsultar, pero, no me llena la grilla, pero tampoco me da error........

Consulto por si Uds. lograran determinar el error.....De ser asi, y me lo comentan, desde ya estoy muy agradecido con Uds....


private void Leer()
        {
            string cadenaConexion = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            using (OleDbConnection cnn = new OleDbConnection(cadenaConexion))
            {
                cnn.Open();

                string query = "SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria";

                OleDbCommand com = new OleDbCommand(query, cnn);

                com.Parameters.AddWithValue("@idCurso", Convert.ToInt32(ViewState["idCurso"]));
                com.Parameters.AddWithValue("@idMateria", Convert.ToInt32(ViewState["idMateria"]));

                int id = Convert.ToInt32(com.ExecuteScalar());

                ViewState["idCurMater"] = id;

                query = "SELECT Dni, Nombre, Apellido, Asistencias, Llegadas Tarde, [Fecha], Id_Asistencia, id_alumMatCurso From Asistencias Where id_alumMatCurso = @idCurMater AND [Fecha] = ?";

                OleDbCommand com1 = new OleDbCommand(query, cnn);
                com1.Parameters.AddWithValue("Fecha", TextCalendar.Text);
                com1.Parameters.AddWithValue("@idCurMater", Convert.ToInt32(ViewState["idCurMater"]));

                com1.ExecuteNonQuery();

                OleDbDataAdapter da = new OleDbDataAdapter(com1);

                DataTable dt = new DataTable();
                da.Fill(dt);

                GridConsAsist.DataSource = dt;
                GridConsAsist.DataBind();
            }
        }


Un abrazo......


09-Aug-2015 12:41
Nacho Cabanes (+83)

¿Usas Visual Studio? ¿Sabes poner puntos de interrupción? Te ayudará a comprobar que las variables tienen los valores que tú esperabas.

Aun así, en tu programa ver algo que me suena mal... Cerca del final tienes "com1.ExecuteNonQuery();"  y poco más arriba tienes

query = "SELECT Dni, Nombre,...

Si vas a hacer una consulta (query), no podrás ejecutar una orden que no es una consulta (ExecuteNonQuery).

¿No deberías usar ExecuteReader?






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)