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
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
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
if Form2.Caption = 'Agregar nuevo contacto' then
begin
with Form1.ZQuery1 do
begin
close;
Sql.Clear;
Sql.Add('insert into CONTACTOS (NOMBRE, APELLIDO, TELEFONO) values(:nom, :ape, :tel) ');
ParamByName('nom').AsString := Edit1.Text;
ParamByName('ape').AsString := Edit2.Text;
ParamByName('tel').AsString := Edit3.Text;
ExecSQL;
close;
Sql.Clear;
Sql.Add('select * from CONTACTOS');
Open;
Form2.Close;
end;
end
else
begin
with Form1.ZQuery1 do
begin
id := FieldByName('ID').Value;
close;
Sql.Clear;
Sql.Add('update CONTACTOS set NOMBRE= :nom, APELLIDO= :ape, TELEFONO= :tel where ID= :idd');
ParamByName('idd').AsInteger := id;
ParamByName('nom').AsString := Edit1.Text;
ParamByName('ape').AsString := Edit2.Text;
ParamByName('tel').AsString := Edit3.Text;
ExecSQL;
close;
Sql.Clear;
Sql.Add('select * from CONTACTOS');
Open;
Form2.Close;
end;
end;
end;