Ver Mensaje Individual
  #6  
Antiguo 23-02-2005
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Reputación: 24
BlueSteel Va por buen camino
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....
__________________
BlueSteel
Responder Con Cita