No, eso no es así.
El error proviene de la consulta parametizada, no de un método/función/constructor que reciba parámetros, el mensaje de error en esa situación sería muy distinto, además, ese tipo de error no dejaría compilar el código, es decir, sería un error de compilador y la sintaxis quedaría resaltada en la IDE, por ende, se podría localizar el conflicto en seguida.
Este es un error en tiempo de ejecución, lanzado por el método com1.ExecuteNonQuery() o com2.ExecuteNonQuery() (o tal vez ambos), y el tipo de excepción que tiene es esta:
➢
OleDbException con mensaje de error:
No Value Given For One Or More Required Parameters
En resumen, el error está en la consulta, ya sea query1 o query2 o ambas, en la forma de construirla o en la forma de añadir los parámetros, pero no manejo SQL así que no puedo aportar más.
En la query1 estás preguntando por 2 parámetros, y estás asignando a ambos el valor, en la query2 estás preguntando por 1 parámetro, y también lo estás asignando, es decir, todo parece correcto, pero como ya digo no manejo SQL y obviamente existe algún conflicto si no te funciona.
Saludos!
Tienes toda la razón, realmente es un error en tiempo de compilación, de hecho el intellisense te muestra "el gusarapo" como le digo yo
Y el error que te da se lee:
No overload for method 'MethodName' takes X arguments;
o en caso de un constructor:
Namespace.ClassName does not contain a constructor that takes X arguments
Lamento haber cometido el error, realmente no tuve tiempo de mirar la
OleDbException.
Ahora, esperemos que
@Guillito, nos diga en que linea es que le salta la excepción.
Mod:@Guillito, ¿Cuales son los nombres de la tabla a la cual le haces la "
query2"?
query2 = "SELECT Id_Nota, Nota, [Fecha Trimestre], Tipo, Etapa, Dni, Nombre, Apellido, id_alumMatCurso From Notas N Where N.id_alumMatCurso = @idCurMater";
Quizás estoy un poco oxidado en SQL Queries, pero no me suena el hecho de usar
[Fecha Trimestre] así, ¿Por qué lo usas así? ¿Como se llama esa columna de la tabla?
Además, sigo viendo como utilizas un alias en las query para las tablas.
SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria
SELECT Id_Nota, Nota, [Fecha Trimestre], Tipo, Etapa, Dni, Nombre, Apellido, id_alumMatCurso From Notas N Where N.id_alumMatCurso = @idCurMater
Si mi oxidado conocimiento de SQL no me falla, creo que para usar alias para una columna o tabla debes usar "
as"
O sea, algo así como:
SELECT id_cursoMateria From CursosMaterias AS cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria
SELECT Id_Nota, Nota, [Fecha Trimestre], Tipo, Etapa, Dni, Nombre, Apellido, id_alumMatCurso From Notas AS N Where N.id_alumMatCurso = @idCurMater
Espero haber sido de ayuda. Esperamos tu respuesta.
Salu2s