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

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 10-01-2017
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 86
Poder: 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
 



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
Mapeo, migración de MySQL a MS SQL Server CHECHE81 MySQL 0 11-09-2014 00:07:18
migración paradox a SQL Server 2005. Boolean? Carmelo Cash Conexión con bases de datos 2 05-09-2008 17:58:54
Migracion Mysql 4 a 5 teroga MySQL 2 23-04-2008 10:43:29
migracion de paradox a SQL 2000 Server martita MS SQL Server 6 16-10-2006 10:11:15
Migración Archivos Planos a MySQL - Velocidad samantha jones Conexión con bases de datos 3 19-01-2006 01:25:11


La franja horaria es GMT +2. Ahora son las 21:21:02.


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