git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@448 0c75b7a4-871f-7646-8a2f-f78d34cc349f
133 lines
3.7 KiB
ObjectPascal
133 lines
3.7 KiB
ObjectPascal
unit srvProvinciasPoblaciones_Impl;
|
|
|
|
{----------------------------------------------------------------------------}
|
|
{ This unit was automatically generated by the RemObjects SDK after reading }
|
|
{ the RODL file associated with this project . }
|
|
{ }
|
|
{ This is where you are supposed to code the implementation of your objects. }
|
|
{----------------------------------------------------------------------------}
|
|
|
|
{$I Remobjects.inc}
|
|
|
|
interface
|
|
|
|
uses
|
|
{vcl:} Classes, SysUtils,
|
|
{RemObjects:} uROXMLIntf, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
|
|
{Required:} uRORemoteDataModule,
|
|
{Used RODLs:} DataAbstract4_Intf,
|
|
{Generated:} FactuGES_Intf, uDADataStreamer, uDABin2DataStreamer, uDAClasses;
|
|
|
|
type
|
|
{ TsrvProvinciasPoblaciones }
|
|
TsrvProvinciasPoblaciones = class(TRORemoteDataModule, IsrvProvinciasPoblaciones)
|
|
Bin2DataStreamer: TDABin2DataStreamer;
|
|
schProvinciasPoblaciones: TDASchema;
|
|
private
|
|
protected
|
|
{ IsrvProvinciasPoblaciones methods }
|
|
function DarListaProvincias: Binary;
|
|
function DarListaPoblaciones(const ID_Provincia: Integer): Binary;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
uses
|
|
{Generated:} FactuGES_Invk, Variants, uDAInterfaces,
|
|
uDataModuleServer, uROClasses;
|
|
|
|
|
|
procedure Create_srvProvinciasPoblaciones(out anInstance : IUnknown);
|
|
begin
|
|
anInstance := TsrvProvinciasPoblaciones.Create(nil);
|
|
end;
|
|
|
|
{ srvProvinciasPoblaciones }
|
|
function TsrvProvinciasPoblaciones.DarListaProvincias: Binary;
|
|
var
|
|
ASchema : TDASchema;
|
|
AConn : IDAConnection;
|
|
dsData: IDADataset;
|
|
ALista : TStringList;
|
|
begin
|
|
Result := Binary.Create;
|
|
|
|
ASchema := schProvinciasPoblaciones;
|
|
AConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
|
|
|
|
try
|
|
dsData := ASchema.NewDataset(AConn, 'Provincias');
|
|
except
|
|
RaiseError('No existe la tabla PROVINCIAS');
|
|
end;
|
|
|
|
ALista := TStringList.Create;
|
|
try
|
|
dsData.Active := True;
|
|
ALista.Sorted := True;
|
|
while not dsData.EOF do
|
|
begin
|
|
ALista.Add(Format('%s=%d', [dsData.Fields[1].AsString, dsData.Fields[0].AsInteger]));
|
|
dsData.Next;
|
|
end;
|
|
|
|
ALista.SaveToStream(Result);
|
|
finally
|
|
FreeANDNIL(ALista);
|
|
dsData := NIL;
|
|
AConn := NIL;
|
|
end;
|
|
end;
|
|
|
|
function TsrvProvinciasPoblaciones.DarListaPoblaciones(const ID_Provincia: Integer): Binary;
|
|
var
|
|
ASchema : TDASchema;
|
|
AConn : IDAConnection;
|
|
dsData: IDADataset;
|
|
// AWhere : TDAWhereExpression;
|
|
ALista : TStringList;
|
|
begin
|
|
Result := Binary.Create;
|
|
|
|
ASchema := schProvinciasPoblaciones;
|
|
AConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
|
|
|
|
try
|
|
dsData := ASchema.NewDataset(AConn, 'Poblaciones', ['ID', 'DESCRIPCION'], '', '', False, True);
|
|
|
|
with dsData.DynamicWhere do
|
|
begin
|
|
Clear;
|
|
Expression := NewBinaryExpression(NewField('', 'ID_PROVINCIA'),
|
|
NewConstant(ID_Provincia, datInteger),
|
|
dboEqual);
|
|
end;
|
|
|
|
ALista := TStringList.Create;
|
|
try
|
|
dsData.Active := True;
|
|
ALista.Sorted := True;
|
|
while not dsData.EOF do
|
|
begin
|
|
ALista.Add(Format('%s=%d', [dsData.Fields[1].AsString, dsData.Fields[0].AsInteger]));
|
|
dsData.Next;
|
|
end;
|
|
ALista.SaveToStream(Result);
|
|
finally
|
|
FreeANDNIL(ALista);
|
|
dsData := NIL;
|
|
AConn := NIL;
|
|
end;
|
|
except
|
|
RaiseError('No existe la tabla POBLACIONES');
|
|
end;
|
|
end;
|
|
|
|
initialization
|
|
TROClassFactory.Create('srvProvinciasPoblaciones', Create_srvProvinciasPoblaciones, TsrvProvinciasPoblaciones_Invoker);
|
|
|
|
finalization
|
|
|
|
end.
|