Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 09-06-2004
taote taote is offline
Miembro
 
Registrado: feb 2004
Posts: 23
Poder: 0
taote Va por buen camino
Hola:

Claro que es posible. De esta manera mantengo aislado el programa de la capa de acceso a datos (donde tengo los componentes DBExpress), accediendo a través de la capa intermedia. Y puedo tratar las capas de manera independiente.

Si se configura tal y como he puesto en el primer mensaje, puede hacerse, de una manera similar a

Código Delphi [-]
function TDMDatos.GetNuevoCodigo(CDS: TClientDataSet): string;
var
    P : TParams;
    Tipo : integer;
begin
    Result:='';
    P := TParams.Create;
    try
        P.Assign(CodNuevo.Params);
        if CDS = Facturas then
           Tipo := 0
        else if CDS = Clientes then
           Tipo := 1
        else
           exit;

        CodNuevo.Params.ParamByName('TIPO').AsInteger := Tipo;
        CodNuevo.Execute;
        Result := CodNuevo.Params.ParamByName('Codigo').AsString;
    finally
        CodNuevo.Params.Assign(P);
    end;
end;

En este caso CodNuevo es el TClientDataSet, enlazado a un proveedor que a su vez está enlazado al componente de procedimiento almacenado, que tiene un parámetro de entrada Tipo, y uno de salida Codigo del tipo VARCHAR(10).

Lo utilizo para obtener un nuevo código para la tabla. Si lo que devuelvo es un entero no hay problema, pero con el VARCHAR si falla.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:36:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi