[ Foro de C# ]

No se han especificado valores para algunos de los parámetros requeridos.

29-Jun-2015 04:34
aaaaaaa bbbbbbb
1 Respuestas

Hola gente, disculpen que los moleste, me comunico con Uds. por lo siguiente:

Tengo una tabla Alumno con los campos:Dni, Nombre, Apellido...(tiene Id_Alumno)..

y otra Tabla AlumMatCurso de donde extraigo id_alumMatCurso..(también tiene Id_Alumno).

El objetivo es llenar un GridView (GridCargaAsistencia), con lo que, al obtener esos

datos, se llenan........Para tal propósito, he hecho el código que expongo a continua-

ción de este texto......Me da el Error que figura en el Titulo de este Post....

Desde ya, muy agradecido con Uds, por aportar la solución que resuelva esto, etc....

Abrazos....Disculpen las molestias.....



private void Leer()
        {
            string cadenaConexion = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            OleDbConnection cnn = new OleDbConnection(cadenaConexion);
            
            OleDbCommand com = new OleDbCommand("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria", cnn); //GOOD

            ViewState["idCursoMateria"] = com;

            connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Guillermo\Documents\Datos.accdb;Persist Security Info=False");
            OleDbCommand command = new OleDbCommand();
            Adaptador = new OleDbDataAdapter("SELECT A.Dni, A.Apellido, A.Nombre, amc.id_alumMatCurso FROM AlumMatCursos amc INNER JOIN Alumno A ON amc.Id_Alumno = A.Id_Alumno WHERE amc.id_alumMatCurso = @idcurMat", connection);
            DataTable dt = new DataTable();
            Adaptador.Fill(dt);
            GridCargaAsistencia.DataSource = dt;
            GridCargaAsistencia.DataBind();

            com.Parameters.AddWithValue("@idCurso", (ViewState["idCurso"]));
            com.Parameters.AddWithValue("@idMateria", (ViewState["idMateria"]));
            command.Parameters.AddWithValue("@idcurMat", ViewState["idCursoMateria"]);          
        }
        
        protected void ButtonAceptar_Click(object sender, EventArgs e)
        {                              
            try
            {
                Leer();
            }

            catch (Exception)
            {
                throw;
            }

            finally
            {
                if (connection != null)
                {
                    connection.Close();
                }
            }
                    
        }


 


04-Jul-2015 21:54
Nacho Cabanes (+83)

Tienes dos "OleDbCommand " a la vez, uno llamado "com" y otro "command", cada un a través de una conexión distinta. ¿Seguro que necesitas tanta complicación?  ¿No te basta con cruzar ambas tablas usando un WHERE?

Al menos sí pareces dar valores a todos los parámetros, pero el último de todos ellos contiene todo un "OleDbCommand", que has prefijado antes con "ViewState["idCursoMateria"] = com;"  ¿Es eso lo que pretendes?






(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.)