{ =============================================================================== Copyright (©) 2001. Rodax Software. =============================================================================== Los contenidos de este fichero son propiedad de Rodax Software titular del copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado, en su totalidad o en parte, con el permiso escrito de Rodax Software, o de acuerdo con los términos y condiciones establecidas en el acuerdo/contrato bajo el que se suministra. ----------------------------------------------------------------------------- Web: www.rodax-software.com =============================================================================== Fecha primera versión: 01-10-2001 Versión actual: 1.0.2 Fecha versión actual: 07-04-2002 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- 27-10-2001 Al dar la lista de bancos se ha insertado primero una línea en blanco para poder elegirla e indicar así que no se quiere banco. 07-04-2002 Cambio de todos los procedimientos en los que se utiliza una transaccion nueva, por una unica transacción. 09-05-2002 Cambio de grid en lugar de utilizar UltimDBGrid, utilizaremos dxDBGrid. =============================================================================== } unit TablaBancos; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, dxDBGrid, dxDBCtrl, dbgrids; type TdmTablaBancos = class(TDataModule) private procedure IniciarSQL; public sqlInsertar : TStrings; sqlModificar : TStrings; sqlConsultar : TStrings; sqlEliminar : TStrings; constructor Create (AOwner : TComponent); override; destructor Destroy; override; procedure InicializarGridBancos(var Grid: TdxDBGrid); function DarBancos : TStrings; end; var dmTablaBancos: TdmTablaBancos; implementation uses BaseDatos, IBSQL, Mensajes, IB, Excepciones; {$R *.DFM} { TdmTablaBancos } constructor TdmTablaBancos.Create(AOwner: TComponent); begin inherited; sqlInsertar := TStringList.Create; sqlModificar := TStringList.Create; sqlConsultar := TStringList.Create; sqlEliminar := TStringList.Create; IniciarSQL; end; function TdmTablaBancos.DarBancos : TStrings; var oSQL : TIBSQL; Lista : TStringList; begin oSQL := TIBSQL.Create(Self); Lista := TStringList.Create; with oSQL do begin Database := dmBaseDatos.BD; Transaction := dmBaseDatos.Transaccion; SQL.Add('select DESCRIPCION from BANCOS'); SQL.Add('order by DESCRIPCION'); try Prepare; ExecQuery; Lista.Append(''); while not EOF do begin Lista.Append(Fields[0].AsString); Next; end; result := Lista; finally Close; Transaction := NIL; Free; end; end; end; destructor TdmTablaBancos.Destroy; begin sqlInsertar.Free; sqlModificar.Free; sqlConsultar.Free; sqlEliminar.Free; inherited; end; procedure TdmTablaBancos.InicializarGridBancos(var Grid: TdxDBGrid); var Columna : TdxDBTreeListColumn; begin with Grid do begin DestroyColumns; {Columna DESCRIPCION} Columna := CreateColumn(TdxDBTreeListColumn); Columna.FieldName := 'DESCRIPCION'; Columna.Caption := 'Cuenta bancaria'; end; end; procedure TdmTablaBancos.IniciarSQL; begin with sqlInsertar do begin Add('insert into BANCOS (DESCRIPCION) '); Add('values (UPPER(:DESCRIPCION))'); end; with sqlModificar do begin Add('update BANCOS set '); Add('DESCRIPCION = UPPER(:DESCRIPCION) '); Add('where RDB$DB_KEY = :DB_KEY'); end; with sqlEliminar do begin Add('delete from BANCOS '); Add('where DESCRIPCION = :DESCRIPCION'); end; with sqlConsultar do begin Add('select RDB$DB_KEY, DESCRIPCION '); Add('from BANCOS '); Add('order by DESCRIPCION'); end; end; end.