{ =============================================================================== Copyright (©) 2002. 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: 03-11-2002 Versión actual: 1.0.0 Fecha versión actual: 03-11-2002 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- =============================================================================== } unit TablaProvincias; interface uses //Generales SysUtils, Classes, Controls, IBSQL, cxGridDBTableView, cxCustomData, DB, //Particulares IBCustomDataSet, Variants, //Aplicacion Framework, StrFunc, Entidades, Constantes, BaseDatos; type TdmTablaProvincias = class(TDataModule) private procedure IniciarSQL; public TablaProvincias : TIBDataSet; sqlGrid : TStrings; function darCodigoProvincia(Descripcion : String) : Variant; function darNombreProvincia (Codigo : Variant) : string; constructor Create (AOwner : TComponent); override; destructor Destroy; override; procedure InicializarGridProvincias(var vGrid: TcxGridDBTableView); end; var dmTablaProvincias : TdmTablaProvincias; implementation {$R *.DFM} constructor TdmTablaProvincias.Create (AOwner : TComponent); begin inherited; sqlGrid := TStringList.Create; IniciarSQL; end; destructor TdmTablaProvincias.Destroy; begin sqlGrid.Free; inherited; end; procedure TdmTablaProvincias.IniciarSQL; begin with sqlGrid do begin Add('select DESCRIPCION, CODIGO'); Add('from PROVINCIAS'); end; end; function TdmTablaProvincias.darCodigoProvincia(Descripcion: String): Variant; var oSQL : TIBSQL; Codigo : String; begin oSQL := TIBSQL.Create(Self); Codigo := ''; with oSQL do begin Database := dmBaseDatos.BD; Transaction := dmBaseDatos.Transaccion; SQL.Add('select CODIGO from PROVINCIAS '); SQL.Add('where DESCRIPCION = :DESCRIPCION'); try ParamByName('DESCRIPCION').AsString := AnsiUpperCase(Descripcion); Prepare; ExecQuery; Codigo := Fields[0].AsString; if (Codigo = '') then Result := NULL else Result := Codigo; finally Close; Transaction := NIL; Free; end; end; end; procedure TdmTablaProvincias.InicializarGridProvincias(var vGrid: TcxGridDBTableView); var Columna : TcxGridDBColumn; begin with vGrid do begin {Columna DESCRIPCION} Columna := CreateColumn; Columna.DataBinding.FieldName := 'DESCRIPCION'; Columna.Caption := 'Nombre de la provincia'; Columna.Options.Filtering := False; Columna.SortOrder := soAscending; end; end; function TdmTablaProvincias.darNombreProvincia(Codigo: Variant): string; var oSQL : TIBSQL; Descripcion : String; begin Descripcion := ''; oSQL := TIBSQL.Create(Self); with oSQL do begin Database := dmBaseDatos.BD; Transaction := dmBaseDatos.Transaccion; SQL.Add('select DESCRIPCION'); SQL.Add('from PROVINCIAS'); SQL.Add('where CODIGO = :CODIGO'); try ParamByName('CODIGO').AsString := Codigo; Prepare; ExecQuery; Descripcion := Fields[0].AsString; Result := Descripcion; except Close; Transaction := NIL; Free; end; end; end; end.