This repository has been archived on 2024-11-29. You can view files and clone it, but cannot push or open issues or pull requests.
Tecsitel_FactuGES/BaseDatos/TablaProvincias.pas

159 lines
4.1 KiB
ObjectPascal
Raw Normal View History

{
===============================================================================
Copyright (<EFBFBD>) 2001. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero s<EFBFBD>lo podr<EFBFBD> ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los t<EFBFBD>rminos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versi<EFBFBD>n: 01-10-2001
Versi<EFBFBD>n actual: 1.0.2
Fecha versi<EFBFBD>n actual: 12-05-2002
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
07-04-2002 Cambio de todos los procedimientos en los que se utiliza
una transaccion nueva, por una unica transacci<EFBFBD>n.
12-05-2002 Adaptaci<EFBFBD>n al grid 'TdxDBGrid'.
===============================================================================
}
unit TablaProvincias;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBTables, DB, IBCustomDataSet, IBSQL, BaseDatos, IBDatabase, dxDBGrid,
dbgrids;
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 Grid: TdxDBGrid);
end;
var
dmTablaProvincias : TdmTablaProvincias;
implementation
{$R *.DFM}
uses
IBStoredProc, Mensajes, IB, Excepciones, dxDBCtrl;
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');
Add('order by DESCRIPCION');
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 Grid: TdxDBGrid);
var
Columna : TdxDBTreeListColumn;
begin
with Grid do begin
DestroyColumns;
{Columna DESCRIPCION}
Columna := CreateColumn(TdxDBTreeListColumn);
Columna.FieldName := 'DESCRIPCION';
Columna.Caption := 'Nombre de la provincia';
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.