Ver Mensaje Individual
  #1  
Antiguo 20-04-2010
JuanchoDev JuanchoDev is offline
Miembro
 
Registrado: abr 2010
Posts: 15
Reputación: 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