Foros del Web » Programación para mayores de 30 ;) » .NET »

Demasiados Argumentos ADO.NET

Estas en el tema de Demasiados Argumentos ADO.NET en el foro de .NET en Foros del Web. Buenas cuando quiero insertar me sale el siguiente error: "La funcion o procedimiento sp_menu tiene demasiados argumentos. Mi tabla almuerzo contiene los mismos parametros que ...
  #1 (permalink)  
Antiguo 15/09/2012, 18:12
 
Fecha de Ingreso: febrero-2010
Mensajes: 117
Antigüedad: 14 años, 9 meses
Puntos: 0
Busqueda Demasiados Argumentos ADO.NET

Buenas cuando quiero insertar me sale el siguiente error:
"La funcion o procedimiento sp_menu tiene demasiados argumentos.

Mi tabla almuerzo contiene los mismos parametros que el sp incluyendo un campo fecha que esta como getdate().

Código SQL:
Ver original
  1. CREATE proc sp_menu
  2. @menu CHAR(1),
  3. @sopa CHAR(1),
  4. @lugar VARCHAR(100),
  5. @monto DECIMAL(4,2),
  6. @estado INT
  7. AS
  8. INSERT INTO almuerzo VALUES(GETDATE(),@menu,@sopa,@lugar,@monto,@estado)
  9. GO


cuando ago click en el boton Guardar de mi formulario me sale el error que el procedimiento tiene demasiados argumentos, pero todo esta conforme.

Nose cual podria ser el problema, deseo su ayuda por favor.


y en c# esta asi (cuando ago click en el boton guardar):

Código C++:
Ver original
  1. SqlConnection cn = new SqlConnection("...........................................");
  2. sqlCommand cmd = new SqlCommand();
  3. cmd.Connection = cn;
  4. cmd.CommandType=CommandType.StoreProcedure;
  5. cmd.CommandText="sp_menu";
  6. cn.Open();
  7. sqlCommandBuilder.DeriveParameters(cmd);
  8. cmd.Parameters.AddWithValue("@menu","x");
  9. cmd.Parameters.AddWithValue("@sopa","");
  10. cmd.Parameters.AddWithValue("@lugar","");
  11. cmd.Parameters.AddWithValue("@monto",5.00);
  12. cmd.Parameters.AddWithValue("estado",1);
  13. cmd.ExecuteNonQuery();
  14. cn.Close();
__________________
¿Cuántos analistas de sistema se necesitan para cambiar una bombilla de luz?
- Ninguno, esto es un problema de hardware.
  #2 (permalink)  
Antiguo 16/09/2012, 10:48
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 8 meses
Puntos: 61
Respuesta: Demasiados Argumentos ADO.NET

Y has probado que el procedimiento almacenado que funcione?

Prueba asi.
Código C#:
Ver original
  1. using (SqlConnection conn = new SqlConnection("CadenaConexion"))
  2. {
  3.  
  4.         SqlCommand cmd = new SqlCommand("sp_menu", conn);
  5.         cmd.CommandType = CommandType.StoredProcedure;
  6.         cmd.Parameters.AddWithValue("@menu","x");
  7.         cmd.Parameters.AddWithValue("@sopa","");
  8.         cmd.Parameters.AddWithValue("@lugar","");
  9.         cmd.Parameters.AddWithValue("@monto",5.00);
  10.         cmd.Parameters.AddWithValue("estado",1);
  11.         conn.Open();
  12.         cmd.ExecuteNonQuery();
  13.  
  14. }
También veo que a la hora de pasar los parámetros unos van vacíos verifica si eso no es el problema.
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #3 (permalink)  
Antiguo 16/09/2012, 11:01
 
Fecha de Ingreso: febrero-2010
Mensajes: 117
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Demasiados Argumentos ADO.NET

Buenas ya lo solucione, el problema es la linea de codigo,

Código vb:
Ver original
  1. SqlCommandBuilder.DeriveParameters(cmd);



YA ESTA SOLUCIONADO, Gracias de todas maneras Cristian.
Un abrazo.
__________________
¿Cuántos analistas de sistema se necesitan para cambiar una bombilla de luz?
- Ninguno, esto es un problema de hardware.

Etiquetas: argumentos, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:20.