Ver Mensaje Individual
  #8  
Antiguo 10-01-2017
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 86
Reputación: 20
koalasoft Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
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;
Agradezco tu ejemplo y consejos .. me estas dando a entender muchas cosas de cómo va funcionando esto .. solo modifique el código para que en lugar de buscar el dato en un DBText sea en un Label, ya que al momento de hacer la consulta me seguia modificando el primer registro, pero haciendo este cambio ya modifica el que estoy buscando ..

Veo que puedo seguir usando el mismo código pero en lugar de las TTable ahora use ADOQuery, pasó algo curioso .. a hacer la actualización de un campo, recuerdo que en paradox se usaba e flushbuffer para guardar directamente a la tabla, qui ya no se requiere eso en caso de perdida de conección o corte de luz al momento de la transacción?
Responder Con Cita