[ Foro de C# ]

No coinciden los tipos de datos en la expresión de criterios.

23-Sep-2015 02:49
aaaaaaa bbbbbbb
2 Respuestas

Hola, disculpen que los moleste, les consulto, debo llenar una Tabla AlumnoMateriaCurso con tres Grids, un Grid donde selecciono el Alumno, otro donde selecciono el Curso, y otro donde saco la o las materias (mas si son todas), y considero que di con el codigo, pero me da el error que titula este post:

Y me salta en el ExecuteNonQuery();

protected void ButtonTodas_Click(object sender, EventArgs e)
       {
foreach
           (GridViewRow dgi in GridInscMaterias.Rows)
           {
               CheckBox myCheckBox = dgi.Cells[0].Controls[1] as CheckBox;

               if (myCheckBox != null)
               {
                   if (myCheckBox.Checked == true)
                   {
                       ViewState["idMateria"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();
                       ViewState["idMateria1"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();
                       ViewState["idMateria2"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();
                       ViewState["idMateria3"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();
                       ViewState["idMateria4"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();
                       ViewState["idMateria5"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();
                       ViewState["idMateria6"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();
                       ViewState["idMateria7"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();
                       ViewState["idMateria8"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();
                       ViewState["idMateria9"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();

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

                           string SQL = string.Empty;
                           string SQL1 = string.Empty;
                           string SQL2 = string.Empty;
                           string SQL3 = string.Empty;
                           string SQL4 = string.Empty;
                           string SQL5 = string.Empty;
                           string SQL6 = string.Empty;
                           string SQL7 = string.Empty;
                           string SQL8 = string.Empty;
                           string SQL9 = string.Empty;

                           SQL = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria");
                           SQL1 = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria1");
                           SQL2 = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria2");
                           SQL3 = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria3");
                           SQL4 = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria4");
                           SQL5 = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria5");
                           SQL6 = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria6");
                           SQL7 = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria7");
                           SQL8 = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria8");
                           SQL9 = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria9");

                           ViewState["idCursoMateria"] = SQL;
                           ViewState["idCursoMateria1"] = SQL1;
                           ViewState["idCursoMateria2"] = SQL2;
                           ViewState["idCursoMateria3"] = SQL3;
                           ViewState["idCursoMateria4"] = SQL4;
                           ViewState["idCursoMateria5"] = SQL5;
                           ViewState["idCursoMateria6"] = SQL6;
                           ViewState["idCursoMateria7"] = SQL7;
                           ViewState["idCursoMateria8"] = SQL8;
                           ViewState["idCursoMateria9"] = SQL9;

                           string sql = string.Empty;
                           string sql1 = string.Empty;
                           string sql2 = string.Empty;
                           string sql3 = string.Empty;
                           string sql4 = string.Empty;
                           string sql5 = string.Empty;
                           string sql6 = string.Empty;
                           string sql7 = string.Empty;
                           string sql8 = string.Empty;
                           string sql9 = string.Empty;

                           sql = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria) VALUES (@idAlumno, @idcurMat)";
                           sql1 = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria) VALUES (@idAlumno, @idcurMat1)";
                           sql2 = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria) VALUES (@idAlumno, @idcurMat2)";
                           sql3 = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria) VALUES (@idAlumno, @idcurMat3)";
                           sql4 = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria) VALUES (@idAlumno, @idcurMat4)";
                           sql5 = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria) VALUES (@idAlumno, @idcurMat5)";
                           sql6 = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria) VALUES (@idAlumno, @idcurMat6)";
                           sql7 = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria) VALUES (@idAlumno, @idcurMat7)";
                           sql8 = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria) VALUES (@idAlumno, @idcurMat8)";
                           sql9 = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria) VALUES (@idAlumno, @idcurMat9)";

                           OleDbCommand com = new OleDbCommand(SQL, cnn);
                           OleDbCommand com1 = new OleDbCommand(SQL1, cnn);
                           OleDbCommand com2 = new OleDbCommand(SQL2, cnn);
                           OleDbCommand com3 = new OleDbCommand(SQL3, cnn);
                           OleDbCommand com4 = new OleDbCommand(SQL4, cnn);
                           OleDbCommand com5 = new OleDbCommand(SQL5, cnn);
                           OleDbCommand com6 = new OleDbCommand(SQL6, cnn);
                           OleDbCommand com7 = new OleDbCommand(SQL7, cnn);
                           OleDbCommand com8 = new OleDbCommand(SQL8, cnn);
                           OleDbCommand com9 = new OleDbCommand(SQL9, cnn);

                           OleDbCommand cmd = new OleDbCommand(sql, cnn);
                           OleDbCommand cmd1 = new OleDbCommand(sql1, cnn);
                           OleDbCommand cmd2 = new OleDbCommand(sql2, cnn);
                           OleDbCommand cmd3 = new OleDbCommand(sql3, cnn);
                           OleDbCommand cmd4 = new OleDbCommand(sql4, cnn);
                           OleDbCommand cmd5 = new OleDbCommand(sql5, cnn);
                           OleDbCommand cmd6 = new OleDbCommand(sql6, cnn);
                           OleDbCommand cmd7 = new OleDbCommand(sql7, cnn);
                           OleDbCommand cmd8 = new OleDbCommand(sql8, cnn);
                           OleDbCommand cmd9 = new OleDbCommand(sql9, cnn);
                           
                           com.Parameters.AddWithValue("@idCurso", (ViewState["idCurso"]));

                           com.Parameters.AddWithValue("@idMateria", (ViewState["idMateria"]));
                           com1.Parameters.AddWithValue("@idMateria1", (ViewState["idMateria1"]));
                           com2.Parameters.AddWithValue("@idMateria2", (ViewState["idMateria2"]));
                           com3.Parameters.AddWithValue("@idMateria3", (ViewState["idMateria3"]));
                           com4.Parameters.AddWithValue("@idMateria4", (ViewState["idMateria4"]));
                           com5.Parameters.AddWithValue("@idMateria5", (ViewState["idMateria5"]));
                           com6.Parameters.AddWithValue("@idMateria6", (ViewState["idMateria6"]));
                           com7.Parameters.AddWithValue("@idMateria7", (ViewState["idMateria7"]));
                           com8.Parameters.AddWithValue("@idMateria8", (ViewState["idMateria8"]));
                           com9.Parameters.AddWithValue("@idMateria9", (ViewState["idMateria9"]));

                           cmd.Parameters.AddWithValue("@idAlumno", (ViewState["idAlumno"]));

                           cmd.Parameters.AddWithValue("@idcurMat", (ViewState["idCursoMateria"]));
                           cmd1.Parameters.AddWithValue("@idcurMat1", (ViewState["idCursoMateria1"]));
                           cmd2.Parameters.AddWithValue("@idcurMat2", (ViewState["idCursoMateria2"]));
                           cmd3.Parameters.AddWithValue("@idcurMat3", (ViewState["idCursoMateria3"]));
                           cmd4.Parameters.AddWithValue("@idcurMat4", (ViewState["idCursoMateria4"]));
                           cmd5.Parameters.AddWithValue("@idcurMat5", (ViewState["idCursoMateria5"]));
                           cmd6.Parameters.AddWithValue("@idcurMat6", (ViewState["idCursoMateria6"]));
                           cmd7.Parameters.AddWithValue("@idcurMat7", (ViewState["idCursoMateria7"]));
                           cmd8.Parameters.AddWithValue("@idcurMat8", (ViewState["idCursoMateria8"]));
                           cmd9.Parameters.AddWithValue("@idcurMat9", (ViewState["idCursoMateria9"]));

                           com.ExecuteScalar();
                           
                           cmd.ExecuteNonQuery();

                           cnn.Close();
}
}

Si alguien sabe como se soluciona, agradezco su solucion en el final de mi Tesis, abrazo



23-Sep-2015 23:59
Nacho Cabanes (+84)

Ayudaría saber dónde da el error. Pero el mensaje es bastante claro: si no coinciden los tipos de datos, pueden ser cosas como que estés pasando una cadena de texto en un punto en el que espera recibir un número.


24-Sep-2015 01:33
aaaaaaa bbbbbbb

Hola, Nacho Cabanes, el error me salta en cmd.ExecuteNonQuery();


Gracias cualquier aportacion, abrazo...






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