Ver Mensaje Individual
  #1  
Antiguo 21-02-2012
gustavosv gustavosv is offline
Miembro
 
Registrado: mar 2008
Posts: 51
Reputación: 19
gustavosv Va por buen camino
Abstraccion en BD

Hola amigos, tengo la siguiente inquietud y busco alguna orientación para encontrar el mejor camino, pretendo generar una capa de abstracción entre mis clases de tablas de la BD y las instrucciones de actualización de las tablas, me explico, por un lado tengo mi clase TProducto, TCliente que contienen los campos de la respectiva tabla, y pretendo tener en otra clase TCRUDs con las funciones/procedimientos para realizar las actualizaciones CRUD (create, update, delete) de cualquier tabla, p.ej.
Código Delphi [-]
TProducto = class(TConexionClass)
protected
  FpdtId: string;
  FpdtDescripcion: string;
.
..
...
function TProducto.Nuevo: Boolean;
begin
  TCRUDs.Insertar(Self);
end;

y en la clase TCRUDs 

function TCRUDs.Insertar(ObjetoBD: TObject): Boolean;
var
  Query: TADOCommand;
begin
  //  Cómo leo las propiedades del objeto ObjetoBD y sus valores ...?
 
  Query.CommandText := 'INSERT INTO Tabla (..propiedades del ObjetoBD..) VALUES (..valores de las propiedades del ObjetoBD..)
  Query.Execute; 
end;

La pregunta es, cómo puedo implementar p.ej. el método Insertar de TCRUDs de manera tal que lea las propiedades del objeto que se envió como parámetro (ObjetoBD) y sus valores ...?

De antemano, gracias !
Responder Con Cita