elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  No se han especificado valores para algunos de los parámetros requeridos.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No se han especificado valores para algunos de los parámetros requeridos.  (Leído 6,064 veces)
Guillito

Desconectado Desconectado

Mensajes: 35


Ver Perfil
No se han especificado valores para algunos de los parámetros requeridos.
« en: 22 Julio 2015, 06:11 am »

Hola, como les va? disculpe que los moleste, me comunico para comentarles que tengo el siguiente problema:

 Debo llenar una GridCargaNota y me da el error "No se han especificado valores para algunos de los parámetros requeridos."

 Si logran determinar cual seria la falla, les agradecería el aporte de la solución.

 Saludos, disculpen, nos vemos.....

 
Código
  1. protected void ButtonAceptar_Click(object sender, EventArgs e)
  2. {
  3. AccesoLogicaCargaNotas b = new AccesoLogicaCargaNotas();
  4. string cadenaConexion = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
  5. using (OleDbConnection cnn = new OleDbConnection(cadenaConexion))
  6. {
  7. cnn.Open();
  8. string query1 = string.Empty;
  9. query1 = "SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria";
  10. OleDbCommand com1 = new OleDbCommand(query1, cnn);
  11.  
  12. ViewState["idCursoMateria"] = com1;
  13.  
  14. string query2 = string.Empty;
  15. query2 = "SELECT Id_Nota, Nota, [Fecha Trimestre], Tipo, Etapa, Dni, Nombre, Apellido, id_alumMatCurso From Notas N Where N.id_alumMatCurso = @idCurMater";
  16. OleDbCommand com2 = new OleDbCommand(query2, cnn);
  17.  
  18. com1.Parameters.AddWithValue("@idCurso", Convert.ToInt32(ViewState["idCurso"]));
  19. com1.Parameters.AddWithValue("@idMateria", Convert.ToInt32(ViewState["idMateria"]));
  20. com2.Parameters.AddWithValue("@idCurMater", Convert.ToInt32(ViewState["idCursoMateria"]));
  21. com1.ExecuteNonQuery();
  22. com2.ExecuteNonQuery();
  23. }
  24.  


En línea

fran800m

Desconectado Desconectado

Mensajes: 204



Ver Perfil
Re: No se han especificado valores para algunos de los parámetros requeridos.
« Respuesta #1 en: 22 Julio 2015, 19:00 pm »

¿En qué línea te da la excepción?


En línea

DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: No se han especificado valores para algunos de los parámetros requeridos.
« Respuesta #2 en: 22 Julio 2015, 20:04 pm »

¿En qué línea te da la excepción?

^^ Repito la misma pregunta!

Ahora, este tipo de error:

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

Mod: Puede darte por no especificar los suficientes parámetros a la hora de llamar a un método, instanciar una objeto (usando un constructor que recibe parámetros).

O sea, si un método o constructor esta definido para recibir n (n>0) parámetros y tu lo llamas utilizando n-m (sea 0<=m<n) parámetros, entonces te puede dar esa excepción.


Lo que dijo @Eleкtro

Salu2s
« Última modificación: 23 Julio 2015, 01:00 am por DarK_FirefoX » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.817



Ver Perfil
Re: No se han especificado valores para algunos de los parámetros requeridos.
« Respuesta #3 en: 22 Julio 2015, 21:39 pm »

este tipo de error:

Puede darte por no especificar los suficientes parámetros a la hora de llamar a un método, instanciar una objeto (usando un constructor que recibe parámetros).

O sea, si un método o constructor esta definido para recibir n (n>0) parámetros y tu lo llamas utilizando n-m (sea 0<=m<n) parámetros, entonces te puede dar esa excepción.

PD: No solo en estos casos, pero es lo que veo que haces en tu código.

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:
Código:
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!
« Última modificación: 22 Julio 2015, 22:01 pm por Eleкtro » En línea

DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: No se han especificado valores para algunos de los parámetros requeridos.
« Respuesta #4 en: 23 Julio 2015, 01:06 am »

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:
Código:
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:

Citar
No overload for method 'MethodName' takes X arguments;

o en caso de un constructor:

Citar
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"?

Código
  1. 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.

Citar
SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria

Citar
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:

Citar
SELECT id_cursoMateria From CursosMaterias AS cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria

Citar
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
« Última modificación: 23 Julio 2015, 01:25 am por DarK_FirefoX » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines