Consulta con parámetros

12/08/2004 - 19:13 por Ana | Informe spam
Hola,
Tengo el siguiente problema,
Intento ejecutar una cosulta con parámetro y me da el siguiente error:

"ERROR [07002] [Microsoft][Controlador ODBC Microsoft Access] Pocos
parámetros. Se esperaba 7."

Este es el código tal cual lo tengo:

string consulta = "insert into Clientes values
(@nif,@nombre,@ap,@edad,@fnac,@factacu,@activo)";

Comando.CommandText=consulta;

Comando.CreateParameter();

Comando.Parameters.Add("@nif",cli.pNif);

Comando.Parameters.Add("@nombre",cli.pNombre);

Comando.Parameters.Add("@ap",cli.pApellidos);

Comando.Parameters.Add("@edad",cli.pEdad);

Comando.Parameters.Add("@fnac",cli.pfNac);

Comando.Parameters.Add("@factacu",cli.pFactAcu);

Comando.Parameters.Add("@activo",cli.pActivo);

Comando.ExecuteNonQuery();


Nota: cli es un instancia de una clase. Donde están contenidos los valores
que necesito y los obtengo a través de sus propiedades.

Si alguien me puede ayudar.
Muchas Gracias

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
12/08/2004 - 23:18 | Informe spam
Ana,

Creo que a) te sobra la llamada a CreateParameter() y b) en la llamada a
Parameters.Add() tienes información incompleta, se debe indicar el tipo del
parámetro, etc. para luego indicar su valor :

SqlParameter p1 = new SqlParameter("@Description", SqlDbType.NVarChar,
16); // defines las caract del param
p1.Value = "Beverages"; // indicas su valor
cmd.Parameters.Add(p1); // agregas el param a la colección

Mira:

http://msdn.microsoft.com/library/d...topic2.asp

Salu2 - Octavio

"Ana" escribió en el mensaje
news:umauy%
Hola,
Tengo el siguiente problema,
Intento ejecutar una cosulta con parámetro y me da el siguiente error:

"ERROR [07002] [Microsoft][Controlador ODBC Microsoft Access] Pocos
parámetros. Se esperaba 7."

Este es el código tal cual lo tengo:

string consulta = "insert into Clientes values
(@nif,@nombre,@ap,@edad,@fnac,@factacu,@activo)";

Comando.CommandText=consulta;

Comando.CreateParameter();

Comando.Parameters.Add("@nif",cli.pNif);

Comando.Parameters.Add("@nombre",cli.pNombre);

Comando.Parameters.Add("@ap",cli.pApellidos);

Comando.Parameters.Add("@edad",cli.pEdad);

Comando.Parameters.Add("@fnac",cli.pfNac);

Comando.Parameters.Add("@factacu",cli.pFactAcu);

Comando.Parameters.Add("@activo",cli.pActivo);

Comando.ExecuteNonQuery();


Nota: cli es un instancia de una clase. Donde están contenidos los valores
que necesito y los obtengo a través de sus propiedades.

Si alguien me puede ayudar.
Muchas Gracias


Respuesta Responder a este mensaje
#2 Jose Alfredo
13/08/2004 - 01:30 | Informe spam
Hola Ana,

a lo mejor este ejemplo te aclara la cosa

myDataAdapter.SelectCommand.Parameters.Add("@CategoryName",
SqlDbType.VarChar, 80).Value = "toasters";

Saludos

Jose Alfredo
Bad Honnef
RFA

"Ana" schrieb im Newsbeitrag
news:umauy%
Hola,
Tengo el siguiente problema,
Intento ejecutar una cosulta con parámetro y me da el siguiente error:

"ERROR [07002] [Microsoft][Controlador ODBC Microsoft Access] Pocos
parámetros. Se esperaba 7."

Este es el código tal cual lo tengo:

string consulta = "insert into Clientes values
(@nif,@nombre,@ap,@edad,@fnac,@factacu,@activo)";

Comando.CommandText=consulta;

Comando.CreateParameter();

Comando.Parameters.Add("@nif",cli.pNif);

Comando.Parameters.Add("@nombre",cli.pNombre);

Comando.Parameters.Add("@ap",cli.pApellidos);

Comando.Parameters.Add("@edad",cli.pEdad);

Comando.Parameters.Add("@fnac",cli.pfNac);

Comando.Parameters.Add("@factacu",cli.pFactAcu);

Comando.Parameters.Add("@activo",cli.pActivo);

Comando.ExecuteNonQuery();


Nota: cli es un instancia de una clase. Donde están contenidos los valores
que necesito y los obtengo a través de sus propiedades.

Si alguien me puede ayudar.
Muchas Gracias


Respuesta Responder a este mensaje
#3 Ana
13/08/2004 - 13:47 | Informe spam
Hola Octavio:

Lo he hecho tal cual me has dicho y me sigue dando el mismo error. Te dejo
el código para que lo des un vistazo.

string consulta = "insert into Clientes values
(@nif,@nombre,@ap,@edad,@fnac,@factacu,@activo)";

Comando.CommandText=consulta;

OdbcParameter pnif= new OdbcParameter("@nif",OdbcType.VarChar,9);

pnif.Value=cli.pNif;

Comando.Parameters.Add(pnif);

OdbcParameter pnombre=new OdbcParameter("@nombre",OdbcType.VarChar,20);

pnombre.Value=cli.pNombre;

Comando.Parameters.Add(pnombre);

OdbcParameter pap=new OdbcParameter("@ap",OdbcType.VarChar,30);

pap.Value=cli.pApellidos;

Comando.Parameters.Add(pap);

OdbcParameter pedad=new OdbcParameter("@edad",OdbcType.Int);

pedad.Value=cli.pEdad;

Comando.Parameters.Add(pedad);

OdbcParameter pfnac=new OdbcParameter("@fnac",OdbcType.DateTime);

pfnac.Value=cli.pfNac;

Comando.Parameters.Add(pfnac);

OdbcParameter pfacacu=new OdbcParameter("@factacu",OdbcType.Int);

pfacacu.Value=cli.pFactAcu;

Comando.Parameters.Add(pfacacu);

OdbcParameter pactivo=new OdbcParameter("@activo",OdbcType.Int);

pactivo.Value=cli.pActivo;

Comando.Parameters.Add(pactivo);

Comando.ExecuteNonQuery();



No se a que puede ser debido este error, por que todos los parámetros tienen
sus valores adecuados.

GRACIAS
Respuesta Responder a este mensaje
#4 Ana
13/08/2004 - 13:48 | Informe spam
Hola Jose Alfredo:

De la forma que tu me has dicho no me compila. Lo he realizado como me ha
dicho Octavio, pero mi sigue dando el mismo error.

GRacias
Respuesta Responder a este mensaje
#5 Jose Alfredo
13/08/2004 - 14:39 | Informe spam
Hola Ana!

Mira a ver si con esto resuelves, es un trozo de código de una aplicación en
funcionamiento.



//declaraciones.

SqlConnection objConexion;

SqlDataAdapter objDataAdapter;

SqlCommand objSelCommand;

sqlquery = "sql string..";

//uso.

objConexion.ConnectionString = conn;

objSelCommand = new SqlCommand(sqlquery);

objSelCommand.Connection = objConexion;

objDataAdapter.SelectCommand = objSelCommand;

objSelCommand.Parameters.Add("@param",SqlDbType.NVarChar,200).Value paramvalue;

resto de los comandos. Naturalementetienes que definir el tipo de
cada comando, en este caso es NVarChar pero pueden ser otros

Saludos

Jose Alfredo
Bad Honnef
RFA

"Ana" schrieb im Newsbeitrag
news:
Hola Jose Alfredo:

De la forma que tu me has dicho no me compila. Lo he realizado como me ha
dicho Octavio, pero mi sigue dando el mismo error.

GRacias


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida