This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
FactuGES/BaseDatos/TablaProvincias.pas
2007-06-26 08:08:27 +00:00

158 lines
4.0 KiB
ObjectPascal

{
===============================================================================
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.