Ver Mensaje Individual
  #7  
Antiguo 10-01-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
El código que has colocado no tiene mucho sentido.

1) haces una búsqueda con un ADOQuery. Esa búsqueda encontrará uno o varios registros.
2) Luego compruebas si el Dataset está vacío para saber si ha encontrado algún registro.

(hasta aquí parece correcto)

3) Entonces si ha encontrado algún registro, intentas modificarlo usando un ADOTable, que es otro componente y que no se sabe dónde está apuntando...

(aquí está la incongruencia)

O usas el ADOQuery para todo o el ADOTable para todo, pero estás mezclando ambos.

Por otro lado te recomiendo que utilices parámetros a la hora de montar las sentencias SQL, en lugar de concatenar cadenas.

Código Delphi [-]
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('SELECT * FROM CLIENTES ');
  ADOQuery1.SQL.Add('WHERE ID_CL LIKE ' +quotedstr('%' + DBText1.Caption + '%')+' ');
  ADOQuery1.Open;

  if ADOQuery1.IsEmpty then Begin
    showmessage('No se encuentra registrado, porfavor verifica los datos.');
  End
  Else Begin     // si existe modifico el campo
    ADOQuery1.Edit;
    ADOQuery1.FieldByName('NOM_CL').AsString := Edit1.Text;
    ADOQuery1.Post;
  End;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita