Ver Mensaje Individual
  #1  
Antiguo 11-01-2008
sdiaz1983 sdiaz1983 is offline
Miembro
 
Registrado: sep 2007
Posts: 52
Reputación: 17
sdiaz1983 Va por buen camino
Actualizar Registros En Una Tabla Paradox

Buen dia a todos, antes que nada queria agradecerles por la colaboracion a todas mis dudas que he formulado en varios temas, vengo a molestarlos uan vez mas con otra duda, pero antes quiero explicar que es lo que estoy haciendo:

Código Delphi [-]
procedure TFrmClientes.BtnConsultarClick(Sender: TObject);
begin
TblCliente.Active:=True;
QryCliente.SQL.Text:='select * from cliente where Cedula=:P1';
QryCliente.Params[0].AsString:=EdtCedula.Text;
QryCliente.RequestLive:=True;
QryCliente.Active:=True;
if (QryCliente.RecordCount>0) then
  begin
  LblNombre.Visible:=True;
  EdtNombre.Visible:=True;
  LblApellido.Visible:=True;
  EdtApellido.Visible:=True;
  LblDireccion.Visible:=True;
  EdtDireccion.Visible:=True;
  LblTelefono.Visible:=True;
  EdtTelefono.Visible:=True;
  BtGuardar.Visible:=False;
  BtBorrar.Visible:=True;
  BtEditar.Visible:=True;
  BtnConsultar.Visible:=False;
  EdtCedula.SetFocus;
  EdtCedula.Enabled:=False;
  end
else
  begin
  MessageDlg('REGISTRO NO EXISTE',mtError,[mbOk],0);
  end;
end;

En este segmento lo que hago es validar si el dato que ingreso en el campo cedula existe en la base de datos, si existe habilita unos objetos que ahi se muestran de lo contrario muestra el mensaje, esta validacion la hago con el objeto de poder actualizar un registro que ya existe en la tabla.

Ahora en este codigo:
Código Delphi [-]
 procedure TFrmClientes.BtEditarClick(Sender: TObject);
begin
EdtCedula.Text:='';
EdtNombre.Text:='';
EdtApellido.Text:='';
EdtDireccion.Text:='';
EdtTelefono.Text:='';
EdtNombre.SetFocus;
QryCliente.UpdateRecord;
QryCliente.Edit;
QryCliente.SQL.Text:='update cliente set Cedula:=P1 and Nombre:=P2 and Apellido:=P3 and Telefono:=P4 and Direccion:=P5';
QryCliente.Params[0].AsString:=EdtCedula.Text;
QryCliente.Params[1].AsString:=Edtnombre.Text;
QryCliente.Params[2].AsString:=EdtApellido.Text;
QryCliente.Params[3].AsString:=EdtTelefono.Text;
QryCliente.Params[4].AsString:=EdtDireccion.Text;
QryCliente.Post;
end;

Lo que trato de hacer es realizar una actualizacion aun registro que ya se encuentra en la tabla pero cuando doy click en el boton para que me ejecute el proceso me aparece un mensaje de error que me dice: "QryCliente: el Dataset no esta en modo insert o update(traduccion al español)", la pregunta que les queria plantear a ustedes es si tengo un error en el codigo, que tengo que corregir, ya que no se cual es el error.

Mil gracias por su ayuda.
Responder Con Cita