Ver Mensaje Individual
  #8  
Antiguo 17-03-2012
agustinbus agustinbus is offline
Miembro
 
Registrado: ago 2007
Posts: 44
Reputación: 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