Consulta con parametros
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
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
creo que te falta en la sentencia sql creo que ahi tienes el problema. coloca los campos que quieres insertar. osea mencionarlos en la sentencia.
si vas a hacer un insert sin agregar los nombre de campo en el insert into ,
debiera ser asi:
insert into TABLA SELECT @Campo1, @Campo2 ...
saludos.
debiera ser asi:
insert into TABLA SELECT @Campo1, @Campo2 ...
saludos.
no necesitas declarar parametros cuando usas una query sql,
tu query deberia crearse asi:
string consulta = "insert into Clientes values (" + cli.pNif + "," + cli.pNombre + .........
y no añadir parametros
tu query deberia crearse asi:
string consulta = "insert into Clientes values (" + cli.pNif + "," + cli.pNombre + .........
y no añadir parametros
mi problema es parecido pero en VB6 y con acceso a datos.
Osea que no es tan pareceido??
Bueno, necesito pasar unos datos de un fichero DBF a otro y tratarlos por el camino.
El código es algo asÃ:
ado1.commandtype = acmdtext
ado1.recordsource = "Select * from CTB where Cod like ""1"""
ado1.refresh
Cuando llega a refresh me aparece el error igual que al creador del post.
En mi caso me aparece que solo le falta un parametro, que imagino que lo tomará como el 1 que tengo puesto en la select, pero..¿como le paso el valor del parametro al ado?
Muchas Gracias, me salvais la vida.
Osea que no es tan pareceido??
Bueno, necesito pasar unos datos de un fichero DBF a otro y tratarlos por el camino.
El código es algo asÃ:
ado1.commandtype = acmdtext
ado1.recordsource = "Select * from CTB where Cod like ""1"""
ado1.refresh
Cuando llega a refresh me aparece el error igual que al creador del post.
En mi caso me aparece que solo le falta un parametro, que imagino que lo tomará como el 1 que tengo puesto en la select, pero..¿como le paso el valor del parametro al ado?
Muchas Gracias, me salvais la vida.
