Fita, segun lo que entendi tu quieres :
En un Formulario (
Clientes, x Ejemplo de 4 campos), realizar el proceso de listar a traves de un DBGrid, Insertar un Registro y eliminar...
Yo lo trabajo de la siguiente Forma :
1 Formulario con los siguientes componentes :
- 1 DBGrid (Enlazado al Datasourse
DS_Select )
- 2 IBQuery ( a uno lo llamaremos
IBQ_Select y al otros
IBQ_Edit )
- 2 IBTransaction ( a uno lo llamaremos
IBT_Select y al otro
IBT_Edit )
- 1 DataSouse (lo llamaremos
DS_Select )
- 2 SpeedButton ( 1 para Insertar y 1 para Eliminar )
- 1
IBDataset (lo llamaremos
IBD_Clientes )
- 4 TEdit...Codigo, Nombre, Direccion y Fono
El
IBT_Select y el
IBT_Edit deberan estar enlazado al
IBDataset
El
IBQ_Select debera estar enlazado a la Transacción
IBT_Select
El
IBQ_Edit debera estar enlazado a la Transacción
IBT_Edit
Comensamos... entonces
Evento OnCreate del Form1... poner
Seleccionar;
Procedure TForm1.
Seleccionar;
Begin
IBQ_Select.Sql.Close;
IBQ_Select.Sql.Clear;
IBQ_Select.Sql.Add('Select * From "Clientes" Order By "Cli_Codigo"');
IBQ_Select.Sql.Open;
End;
// Esto que esta a continuación lo agregar en el evento OnClick del Boton Agregar....
IBQ_Edit.Sql.Clear;
IBQ_Edit.Sql.Add('Insert Into "Clientes" ("Cli_Codigo","Cli_Nombre","Cli_Direccion","Cli_Fono")');
IBQ_Edit.Sql.Add('Values (:codigo, :nombre, :direccion, :fono)');
IBQ_Edit.Params[0].AsString := Codigo.Text;
IBQ_Edit.Params[1].AsString := Nombre.Text;
IBQ_Edit.Params[2].AsString := Direccion.Text;
IBQ_Edit.Params[3].AsString := Fono.Text;
IBQ_Edit.ExecSql;
IBT_Edit.Commit;
IBT_Select.Commit;
Seleccionar;
// Esto que esta a continuación lo agregar en el evento OnClick del Boton Eliminar....
IBQ_Edit.Sql.Clear;
IBQ_Edit.Sql.Add('Select * From "Clientes"');
IBQ_Edit.Sql.Add(Where "Cli_Codigo"=:codigo');
IBQ_Edit.Params[0].AsString := IBQ_Select['Cli_Codigo'];
IBQ_Edit.ExecSql;
IBT_Edit.Commit;
IBT_Select.Commit;
Seleccionar;
Espero que esto te ayude a aclarar algo....