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 Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-03-2012
agustinbus agustinbus is offline
Miembro
 
Registrado: ago 2007
Posts: 44
Poder: 0
agustinbus Va por buen camino
Me libere de las tareas, ahora puedo seguir con el tuto!


Creamos un nuevo form (form2) y le colocamos 3 edits con sus respectivos labels, y un boton como muestra la imagen:



Bien, el procedimiento para realizar una insercion es el siguiente, en el form1 donde tenemos la grilla y los tres botones ("Agregar contacto", "Modificar contacto", "Eliminar contacto") al presionar el boton agregar contacto, se nos despliega el form2 que acabamos de crear, introducimos los datos y presionamos el boton guardar.
Para modificar seleccionamos el registro a modificar en la grilla y el procedimiento despues es igual al de insertar.

Empezamos con algo de codigo. En el evento OnClick del boton "Agregar contacto" colocamos el siguiente codigo:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  //Limpiamos los edit
  Form2.Edit1.Clear;
  Form2.Edit2.Clear;
  Form2.Edit3.Clear;

  Form2.Caption := 'Agregar nuevo contacto';
  Form2.Position := poScreenCenter;
  Form2.ShowModal;

end;

y el en evento OnClick del boton "Modificar contacto" ponemos el siguiente codigo:

Código Delphi [-]

procedure TForm1.Button2Click(Sender: TObject);
begin
  //Asignamos los valores correspondientes a los edits
  Form2.Edit1.Text := ZQuery1NOMBRE.Value;
  Form2.Edit2.Text := ZQuery1APELLIDO.Value;
  Form2.Edit3.Text := ZQuery1TELEFONO.Value;

  Form2.Caption := 'Modificar contacto';
  Form2.Position := poScreenCenter;
  Form2.ShowModal;
end;

Muy bien, ahora podemos probar dandole a run (F9) y al presionar los botones Agregar contacto y Modificar contacto, vemos como se despliega el form.


Bueno ya realizado esto procedemos a poner el codigo que en si realiza la insercion y modificacion de un registro.

Vamos al form2 y en el evento OnClick del boton "Guardar" ponemos el siguiente codigo (esta explicado en el mismo codigo con comentarios cualquier duda me preguntan):

Código Delphi [-]
var
  id:Integer;
begin

  //Si estamos en el modo Agregar...
  if Form2.Caption = 'Agregar nuevo contacto' then
    begin
      with Form1.ZQuery1 do
        begin
          close;
          Sql.Clear;
          //Codigo para insertar un registro
          Sql.Add('insert into CONTACTOS (NOMBRE, APELLIDO, TELEFONO) values(:nom, :ape, :tel) ');
          //Asignamos a cada campo los valores correspondientes
          ParamByName('nom').AsString := Edit1.Text;
          ParamByName('ape').AsString := Edit2.Text;
          ParamByName('tel').AsString := Edit3.Text;
          ExecSQL;

          close;
          Sql.Clear;
          //Consulta para que se vean los datos en el DBGrid
          Sql.Add('select * from CONTACTOS');
          Open;

          Form2.Close;
        end;
    end
  else
    //Si estamos en el modo Modificar...
    begin
      with Form1.ZQuery1 do
        begin
          //Guardamos el codigo del registro que estamos modificando
          id := FieldByName('ID').Value;
          close;
          Sql.Clear;
          //Codigo para editar un registro
          Sql.Add('update CONTACTOS set NOMBRE= :nom, APELLIDO= :ape, TELEFONO= :tel where ID= :idd');
          //Asignamos a cada campo los valores correspondientes
          ParamByName('idd').AsInteger := id;
          ParamByName('nom').AsString := Edit1.Text;
          ParamByName('ape').AsString := Edit2.Text;
          ParamByName('tel').AsString := Edit3.Text;
          ExecSQL;

          close;
          Sql.Clear;
          //Consulta para que se vean los datos en el DBGrid
          Sql.Add('select * from CONTACTOS');
          Open;

          Form2.Close;
        end;
    end;
end;
Responder Con Cita
  #2  
Antiguo 18-03-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 agustinbus.

Muchísimas gracias por el aporte.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 19-03-2012
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Muy buen aporte. Lo interesante es que este tutorial se puede aplicar prácticamente sin cambios (salvo por IBExpert, que en Linux se reemplaza por Flamerobin) en Lazarus.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #4  
Antiguo 13-04-2012
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Poder: 20
gmontes Va por buen camino
gracias por el tutorial, llevo varios años utilizando ibexpert y nunca me di cuenta de que en la creacion de la tabla podia crear el generador y el trigger que vergüenza
__________________
Todos llevamos nuestros demonios a cuestas..
Responder Con Cita
  #5  
Antiguo 14-04-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por gmontes Ver Mensaje
gracias por el tutorial, llevo varios años utilizando ibexpert y nunca me di cuenta de que en la creacion de la tabla podia crear el generador y el trigger que vergüenza

No se puede saber todo
Responder Con Cita
  #6  
Antiguo 14-04-2012
agustinbus agustinbus is offline
Miembro
 
Registrado: ago 2007
Posts: 44
Poder: 0
agustinbus Va por buen camino
Me alegra q te haya gusta gmontes !!!!!
Responder Con Cita
  #7  
Antiguo 25-08-2012
Leopard2 Leopard2 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 39
Poder: 0
Leopard2 Va por buen camino
Primero que nada agradecer por el tutorial, soy nuevo en SQl a pesar de que llevo años programando en Delphi7 con Paradox y Dbase, por lo mismo quisiera consultar el porque usa para ingresar los datos los Edit en lugar de los DbEdit ?
Saludos
Responder Con Cita
  #8  
Antiguo 28-01-2013
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Wink

Cita:
Empezado por gmontes Ver Mensaje
gracias por el tutorial, llevo varios años utilizando ibexpert y nunca me di cuenta de que en la creacion de la tabla podia crear el generador y el trigger que vergüenza
Yo tampoco lo sabía, me adhiero a la vergüenza y agradezco el aporte.

Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
Respuesta



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
Tutorial comparativa (IBX + Zeos + Firebird + Velocidad ) Novatos Caral Conexión con bases de datos 23 24-10-2019 23:20:15
Programa (Mini Tutorial) novatos Caral Varios 82 19-10-2016 19:20:12
Bajate aqui un Tutorial de Zeos AzidRain Conexión con bases de datos 13 27-05-2007 12:15:05
tutorial de firebird santiago14 Firebird e Interbase 3 30-06-2004 21:03:00
tutorial firebird Aleca Firebird e Interbase 1 26-02-2004 12:59:58


La franja horaria es GMT +2. Ahora son las 04:58:41.


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