{ =============================================================================== 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-11-2001 En 'DarUnidadesFamilias' se ha añadido una fila vacia al principio de la lista. 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 TablaFamilias; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, dxDBGrid, dxDBCtrl, dbgrids; type TdmTablaFamilias = class(TDataModule) private procedure IniciarSQL; public sqlInsertar : TStrings; sqlModificar : TStrings; sqlConsultar : TStrings; sqlEliminar : TStrings; constructor Create (AOwner : TComponent); override; destructor Destroy; override; procedure InicializarGridFamilias(var Grid: TdxDBGrid); function darFamilias : TStrings; end; var dmTablaFamilias: TdmTablaFamilias; implementation {$R *.DFM} uses IBSQL, BaseDatos, IB, Excepciones; { TdmTablaFamilias } constructor TdmTablaFamilias.Create(AOwner: TComponent); begin inherited; sqlInsertar := TStringList.Create; sqlModificar := TStringList.Create; sqlConsultar := TStringList.Create; sqlEliminar := TStringList.Create; IniciarSQL; end; function TdmTablaFamilias.darFamilias: 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 FAMILIAS 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 TdmTablaFamilias.Destroy; begin sqlInsertar.Free; sqlModificar.Free; sqlConsultar.Free; sqlEliminar.Free; inherited; end; procedure TdmTablaFamilias.InicializarGridFamilias(var Grid: TdxDBGrid); var Columna : TdxDBTreeListColumn; begin with Grid do begin DestroyColumns; {Columna DESCRIPCION} Columna := CreateColumn(TdxDBTreeListColumn); Columna.FieldName := 'DESCRIPCION'; Columna.Caption := 'Familia'; end; end; procedure TdmTablaFamilias.IniciarSQL; begin with sqlInsertar do begin Add('insert into FAMILIAS (DESCRIPCION) '); Add('values (UPPER(:DESCRIPCION))'); end; with sqlModificar do begin Add('update FAMILIAS set '); Add('DESCRIPCION = UPPER(:DESCRIPCION) '); Add('where RDB$DB_KEY = :DB_KEY'); end; with sqlEliminar do begin Add('delete from FAMILIAS '); Add('where DESCRIPCION = :DESCRIPCION'); end; with sqlConsultar do begin Add('select RDB$DB_KEY, DESCRIPCION '); Add('from FAMILIAS '); Add('order by DESCRIPCION'); end; end; end.