Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-04-2010
JuanchoDev JuanchoDev is offline
Miembro
 
Registrado: abr 2010
Posts: 15
Poder: 0
JuanchoDev Va por buen camino
"ADOQUERY3: Parameter 'p' not found" error (POR FAVOR AYUDA)

Estoy tratando de modificar una base en access y siempre me da este error"ADOQUERY3: Parameter 'p' not found" error
Cualquier ayuda la agradecercia enormemente...espero que me puedan dar una mano

procedure TForm3.Modificar1Click(Sender: TObject);
var cons1, cons2, cons3:string;

begin
if edit2.Text = edit9.Text then
begin
adoquery2.Close;
adoquery2.SQL.Text:='select id from colaboradores where usuario= :';
adoquery2.Parameters.ParamByName('p').Value:=edit1.Text;
adoquery2.Open;

adoquery3.Close;

//estos los comente porque me recomendaron usar .sql.add(blablabla) de ultima lo vuelvo a poner asi...

//cons1:='select colaboradores.id, colaboradores.usuario, colaboradores.password, colaboradores.nombre, colaboradores.apellido,
colaboradores.direccion, colaboradores.telefono, colaboradores.email, colaboradores.web, colaboradores.rol, colaboradores.fecha
';
//cons2:='from colaboradores, roles ';
//cons3:='where colaboradores.rol=roles.id and colaboradores.id= :';
adoquery3.SQL.Add('select colaboradores.id, colaboradores.usuario, colaboradores.password, colaboradores.nombre,
colaboradores.apellido, colaboradores.direccion, colaboradores.telefono, colaboradores.email, colaboradores.web,
colaboradores.rol, colaboradores.fecha ');



adoquery3.SQL.Add('from colaboradores, roles ');
adoquery3.SQL.Add('where colaboradores.rol=roles.id and colaboradores.id= :') ;
adoquery3.SQl.Text:=adoquery3.Parameters.ParseSQL(adoquery3.SQL.Text,true);
//adoquery3.SQL.Text:=cons1+cons2+cons3;
//adoquery3.Parameters.ParseSQL(adoquery3.SQL.Text,true);
adoquery3.Parameters.ParamByName('p').Value:=adoquery2.Fields[0].AsInteger;



//aca se da el error que no encuentra el parametro!!!!!!!!
//si adoquery2.fields[0]. lo pongo como asString pasa lo mismo...ademas el error seria distinto me imagino
//puse : porque el foro no me permite imagenes pero es con un solo ":"

adoquery3.Open;
adoquery3.Edit;
adoquery3.Fields[1].AsString:=edit1.Text;
adoquery3.Fields[2].AsString:=edit2.Text;
adoquery3.Fields[3].AsString:=edit3.Text;
adoquery3.Fields[4].AsString:=edit4.Text;
adoquery3.Fields[5].AsString:=edit5.Text;
adoquery3.Fields[6].AsString:=edit6.Text;
adoquery3.Fields[7].AsString:=edit7.Text;
adoquery3.Fields[8].AsString:=edit8.Text;
//averiguo el rol
adoquery4.Close;
adoquery4.SQL.Text:='select id from roles where rol= :';
adoquery4.Parameters.ParamByName('p').Value:=combobox1.Text ;
adoquery4.Open;
adoquery3.Fields[9].AsInteger:=adoquery4.Fields[10].AsInteger;
adoquery3.Fields[10].AsString:=edit10.Text;
adoquery3.Post;
showmessage('Registro modificado exitosamente!');
adoquery3.Close;
end
else
showmessage('Las Contraseñas no fueron confirmadas correctamente, deben ser iguales');

end;
Responder Con Cita
  #2  
Antiguo 20-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Esta es la parte que da el error?
Código Delphi [-]
adoquery3.SQL.Add('select colaboradores.id, colaboradores.usuario, colaboradores.password, colaboradores.nombre, 
colaboradores.apellido, colaboradores.direccion, colaboradores.telefono, colaboradores.email, colaboradores.web, 
colaboradores.rol, colaboradores.fecha ');

adoquery3.SQL.Add('from colaboradores, roles ');
adoquery3.SQL.Add('where colaboradores.rol=roles.id and colaboradores.id= :') ;
adoquery3.SQl.Text:=adoquery3.Parameters.ParseSQL(adoquery3.SQL.Text,true);
//adoquery3.SQL.Text:=cons1+cons2+cons3;
//adoquery3.Parameters.ParseSQL(adoquery3.SQL.Text,true);
adoquery3.Parameters.ParamByName('p').Value:=adoquery2.Fields[0].AsInteger;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 20-04-2010
JuanchoDev JuanchoDev is offline
Miembro
 
Registrado: abr 2010
Posts: 15
Poder: 0
JuanchoDev Va por buen camino
Si

exacto, el "" (quiero decir :[letra p] no aparece porque lo trunca el foro
adoquery3.SQL.Add('select colaboradores.id, colaboradores.usuario, colaboradores.password, colaboradores.nombre, colaboradores.apellido, colaboradores.direccion, colaboradores.telefono, colaboradores.email, colaboradores.web, colaboradores.rol, colaboradores.fecha ');
adoquery3.SQL.Add('from colaboradores, roles ');
adoquery3.SQL.Add('where colaboradores.rol=roles.id and colaboradores.id= :') ;
adoquery3.SQl.Text:=adoquery3.Parameters.ParseSQL(adoquery3.SQL.Text,true);
//adoquery3.SQL.Text:=cons1+cons2+cons3;
//adoquery3.Parameters.ParseSQL(adoquery3.SQL.Text,true);
adoquery3.Parameters.ParamByName('p').Value:=adoquery2.Fields[0].AsInteger;

Última edición por JuanchoDev fecha: 20-04-2010 a las 21:49:44. Razón: el sistema convierte en emoticons algunas porciones de texto
Responder Con Cita
  #4  
Antiguo 20-04-2010
JuanchoDev JuanchoDev is offline
Miembro
 
Registrado: abr 2010
Posts: 15
Poder: 0
JuanchoDev Va por buen camino
ademas

el parse lo comente porque tiraba list bound out of index
Responder Con Cita
  #5  
Antiguo 20-04-2010
JuanchoDev JuanchoDev is offline
Miembro
 
Registrado: abr 2010
Posts: 15
Poder: 0
JuanchoDev Va por buen camino
mentira

el parse lo comente por error...por favor me das una mano?...
Responder Con Cita
  #6  
Antiguo 20-04-2010
JuanchoDev JuanchoDev is offline
Miembro
 
Registrado: abr 2010
Posts: 15
Poder: 0
JuanchoDev Va por buen camino
era una sugerencia que encontre

en el foro de embarcadero...
Responder Con Cita
  #7  
Antiguo 20-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Disculpa, para tratar de entender, que quieres hacer en esta linea, que es la que pretendes?
Código Delphi [-]
adoquery3.SQl.Text:=adoquery3.Parameters.ParseSQL(adoquery3.SQL.Text,true);
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 20-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
A ver:
Código Delphi [-]
adoquery3.SQL.Add('select colaboradores.id, colaboradores.usuario, colaboradores.password, colaboradores.nombre, 
colaboradores.apellido, colaboradores.direccion, colaboradores.telefono, colaboradores.email, colaboradores.web, 
colaboradores.rol, colaboradores.fecha ');
adoquery3.SQL.Add('from colaboradores, roles ');
adoquery3.SQL.Add('where colaboradores.rol=roles.id and colaboradores.id= :A');
adoquery3.Parameters[0].Value:= adoquery2.Fields[0].AsInteger;
Saludos
__________________
Siempre Novato
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda: "Record not found or changed by another user" alquimista_gdl Conexión con bases de datos 14 21-03-2009 20:09:21
Error "Invalid Parameter" usando Tquery cuando proceso una consulta grande CharlesWar SQL 5 18-06-2008 20:27:56
Error "File not found: AHMSystemClass.dcu" Miriamc Varios 2 05-06-2006 16:13:36
Error: "Record not found or changed by another user" jmlifi Varios 0 27-01-2006 10:16:57
Solución para el error "Field ID not found" Calderin Conexión con bases de datos 5 24-11-2004 11:18:26


La franja horaria es GMT +2. Ahora son las 03:23:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi