Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-06-2012
servicomp servicomp is offline
Miembro
 
Registrado: oct 2003
Ubicación: Cartago
Posts: 153
Poder: 21
servicomp Va por buen camino
Editar Información de BdEdit y tambien en DbGrid

Cordial saludo

Tengo una pequeña tabla de practica, creada de la siguiente manera.

Código SQL [-]
CREATE TABLE USUARIO (
    CODIGO    CHAR(12) NOT NULL,
    NOMBRE    CHAR(30),
    APELLIDO  CHAR(30),
    CIUDAD    CHAR(20),
    TELEFONO  CHAR(12)
);

Luego hicimos las conecciones a una forma, usando IBX, como se necesita, usando un IbDataset y unos DBEdit, conectamos la base de datos y un DbGrid usando un Datasource.

Usando un IBQuery, hacemos una busqueda en la tabla para buscar la información que ha sido digitada en el DBEdit. Cuando la información se encuentra en la tabla esta se debe poder Editar, y adicionalmente debo poder ver la información en el DbGrig.

Como la información me la entrega un IBQuery, esta solo se puede mirar, pero no se puede entrar a editar en los otros DBEdit, debido a que los DBEdit no estan mirando la tabla, sino la información del IBQuery, y mucho menos apuntando en el DbGrid.

Que procedimiento debemos hacer para buscar la información en la tabla, y adicionamente cuando la encontremos la podamos editar en los DBEdit, y adicionalmente en lso dbgrid se observe la tabla en modo edición y los datos modificandose.

Agradeciendo de antemano la atención prestada
Responder Con Cita
  #2  
Antiguo 17-06-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Echa un vistazo a este minitutorial que hizo Caral y también puede que te sirva este otro, en pdf.
Responder Con Cita
  #3  
Antiguo 17-06-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola servícom, podrías también usar edit básicos y un tibupdate de modo que tu consulta la ejecutas an el evento onexit del edit rellenando los restantes y después podes realizar los cambios a través de un botón pasando los parámetros al ibupdate de los edits. La actualización la podes hacer de acuerdo a una variable que te diga si es uno nuevo o uno a editar de acuerdo a si tu consulta genero algún résultado o no. Los cambios se verán reflejados al cerrar y abrir la consulta nuevamente

Saludós
Responder Con Cita
  #4  
Antiguo 17-06-2012
servicomp servicomp is offline
Miembro
 
Registrado: oct 2003
Ubicación: Cartago
Posts: 153
Poder: 21
servicomp Va por buen camino
Gracias Marcos, ya lo hemos hecho con los Edit, y deseo inicar ha hacerlo con DBEdit, para aprovechar un poco más el sistema, y aprender nuevas propuestas y ver cuales son más eficientes.

Muchas gracias por su respuesta
Responder Con Cita
  #5  
Antiguo 17-06-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
y si mas eficiente son los dataset. Yo en esos casos juego con el selectsql de estos componentes para que solo me traiga el que estoy buscando y digo solo porque generalmente hago la búsqueda por el documento y si existe arrancó con edit si no append después con un post confirno. Mas o menos es así. No te pongo ejemplo porque estoy escribiendo desde mi teléfono xq estoy si wifi pero la idea es esa.

Saludos

Pd si el mensaje anterior era para mi yo soy Martin no marcos
Responder Con Cita
  #6  
Antiguo 21-06-2012
servicomp servicomp is offline
Miembro
 
Registrado: oct 2003
Ubicación: Cartago
Posts: 153
Poder: 21
servicomp Va por buen camino
Agradeciendo de antemano todo su colaboración y su tiempo para resolver esta inquietud.

Deseo decirles que el prodimiento se ha hecho ya usando Edit, pero se ha querido realizar usando solo DBEdit, y asi poder comparar los dos procedimiento y cual es mucho mas eficiente, o saber cuando es mejor hacerla.

El problema sique, y lo deseo recordar. Tenemos una Forma con una base de datos que esta conectada con todo lo necesarios, un Database, una transacción y su dataset. Para mostrar la información se ha instalado un Datasource, con el cual conectamos un DbGrid, para mostrar la información de la tabla y saber como esta funcionando el proceso. En El Primer DBEdit, se esta capturando lo que ingresa el usuario y por medio de un IBQuery, se hace la verificación del dato, si se encuentra, este se Edita. al momento de hacer la verificación se desea que el DBGrig tenga marcado el Registro que se quiere editar, y en el DBEdit1 y en los demás, se muestre la información que deseamos modificar.

Como hacemos este proceso, ya que hemos leido lo que me han enviado y no pude resolver el problema.

De antemano les agradezco su atención
Responder Con Cita
  #7  
Antiguo 21-06-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Creo que te va a resultar mas simple utilizar el evento OnSetText del TField en cuestíón:

Código Delphi [-]
...
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    ...
  private
    procedure CampoSetText(Sender: TField; const Text: String);
  public
  end;
...

implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  ...
  IBDataSet1.FieldByName('CAMPO_BUSQUEDA').OnSetText:= CampoSetText;
end;

...

procedure TForm1.CampoSetText(Sender: TField; const Text: String);
begin
  if not IBDataSet1.Locate('CAMPO_BUSQUEDA', Text, []) then
   Abort;
end;
Para dar mayor claridad, en el ejemplo asigno el evento en tiempo de ejecución; pero si tenes creados los campos persistentes lo podes hacer en diseño desde el Object Inspector.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Editar sobre DBGrid Ignacio Varios 7 25-07-2012 18:13:20
editar un dbgrid Carmelo Cash OOP 4 10-02-2011 06:34:44
Editar memo en DBGrid Angel Vicente OOP 2 13-06-2008 15:38:10
Editar un DBGrid luxus Conexión con bases de datos 4 23-01-2007 21:49:25
Editar Clase Dbgrid amadis OOP 1 16-01-2006 20:15:56


La franja horaria es GMT +2. Ahora son las 12:05:01.


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