Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-03-2009
Avatar de JoseAntonio
JoseAntonio JoseAntonio is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lima - Ciudad de los Reyes.
Posts: 87
Poder: 19
JoseAntonio Va por buen camino
Post

Hola, yo anduve haciendo experimentos en ese aspecto durante mis ratos libres, aqui un ejemplo, espero que le sirva

Código Delphi [-]
procedure TPadre.loadFromDB(CodPadre: String);
var
  SQLStr: string;
  ADataSet: TDataSet;
begin
  sqlStr:= 'select * from padre where codpadre = ' + QuotedStr(CodPadre);
  TDMDBManager.GetSQLDataSet(SQLStr, ADataSet); // Clase que genera Datasets
  fCodPadre := ADataset.fieldByName('CODPADRE').AsString;
  fNombres := AdataSet.FieldbyName('NOMBRESPADRE').AsString;
  fSexo := ADataSet.FieldbyName('SEXO').AsInteger;
  fTipoDocumento := ADataSet.FieldByName('TIPODOCUMENTO').AsInteger;
  fEstadoCivil := ADataSet.FieldByName('ESTADOCIVIL').AsInteger;
  fFechaNac := ADataSet.FieldbyName('FECHANACIMIENTO').AsDateTime;
  fDescPadre := ADataSet.FieldByName('DESCPADRE').AsString;
  LoadChilds;   // para leer los hijos
end;
__________________
nuestro carácter está reflejado en cada línea de código que escribimos.
Responder Con Cita
  #2  
Antiguo 27-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por JoseAntonio Ver Mensaje
aqui un ejemplo, espero que le sirva
A algo así me refería yo, pero de forma genérica para que sirve para cualquier clase del Modelo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 27-03-2009
Jvilomar Jvilomar is offline
Miembro
 
Registrado: mar 2004
Ubicación: Republica Dominicana
Posts: 97
Poder: 21
Jvilomar Va por buen camino
HOla, gracias por Responder, eh estado leyendo un poco de POO y ahora eh comprendido muchas cosas. y tengo ciertas ideas de como manejar todo eso de Abstraccion, Polimorfismo, Encapsulamiento etc, Aplicandolo a lo que deseo hacer.

Muchas gracias, cuando tenga algo concreto lo posteare por aqui mismo para que me den su Valiosa opinion.

Gracias.
__________________
El conocimiento es un Patrimonio Universal....
Responder Con Cita
  #4  
Antiguo 27-03-2009
Avatar de JoseAntonio
JoseAntonio JoseAntonio is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lima - Ciudad de los Reyes.
Posts: 87
Poder: 19
JoseAntonio Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
A algo así me refería yo, pero de forma genérica para que sirve para cualquier clase del Modelo.
Yo tambien pensaba averiguar un metodo asi, pero a la hora de la hora, aunque se ahorra lineas de codigo, se pierde flexibilidad y resulta mejor el meter manos a la obra y escribir el codigo a mano, en todo caso, seria interesante usar alguna herramienta generadora de codigo para el mapeo.
__________________
nuestro carácter está reflejado en cada línea de código que escribimos.
Responder Con Cita
  #5  
Antiguo 30-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por JoseAntonio Ver Mensaje
pero a la hora de la hora, aunque se ahorra lineas de codigo, se pierde flexibilidad y resulta mejor el meter manos a la obra y escribir el codigo a mano, en todo caso, seria interesante usar alguna herramienta generadora de codigo para el mapeo.
Pues perdóname, pero no estoy de acuerdo en absoluto.
Cuando llegues a 1180 clases (como tengo yo ahora) y tengas que añadir ese código 1180 veces ya me dirás si te resulta "tan mejor" ir escribiendo código a mana...

Dejando eso de banda, meter código "a mano" como tú dices no tiene porqué ser mucho menos flexible (si se hacen las cosas bien) (*). Por otro lado, si se hace bien te aporta estandarización del código, reducción de errores (más reducción cuanto mayor sea el número de clases) y una infinita ganancia de tiempo a la hora de corregir y modificar ese código.

(*) Piensa que un método genérico siempre se podrá "sobreescribir" en el caso de que te haga falta.

Además no sólo hablamos del método LoadFromDB, sino que a medida que vayas evolucionando en tu programa te aparecerán códigos como InsertarDb, EliminarDB, ClonarObjeto, AssignarObjeto, ExportarObjeto,...
Sólo hay que ir multiplicando...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 30-03-2009
Avatar de JoseAntonio
JoseAntonio JoseAntonio is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lima - Ciudad de los Reyes.
Posts: 87
Poder: 19
JoseAntonio Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Pues perdóname, pero no estoy de acuerdo en absoluto.
Cuando llegues a 1180 clases (como tengo yo ahora) y tengas que añadir ese código 1180 veces ya me dirás si te resulta "tan mejor" ir escribiendo código a mana...
Yo no suelo mapear todas las tablas en clases salvo las mas importantes, por eso dudo que llegue alguna vez a 1180, y ademas los proyectos que desarrollo procuro simplificarlos al maximo, sin embargo si es cierto que a veces resulta tedioso escribir el mapeo a clases en cada aplicacion por eso existen 3 opciones:

1) hacer el codigo del mapeo uno mismo codificandolo "en duro"
2) Utilizar alguna herramienta propia o de terceros que genere el codigo del mapeo, que luego se tendra que compilar, depurar, modificar etc.
3) Utilizar procedimientos que remplace las lineas de codigo del mapeo en en unas cuantas lineas de codigo, generalizando el proceso para futuras aplicaciones.

de las 3 me inclino por la primera y en un futuro por la segunda opcion, pero la tercera la descarto ya que mi corta experiencia como programador me ha enseñado que no existen procedimientos salvadores que remplazan lineas de codigo, al fin y si lo hacen de alguna forma, es sacrificando versatilidad y eso es algo que no va con mi estilo.

Cita:
Empezado por Neftali Ver Mensaje
Dejando eso de banda, meter código "a mano" como tú dices no tiene porqué ser mucho menos flexible (si se hacen las cosas bien) (*). Por otro lado, si se hace bien te aporta estandarización del código, reducción de errores (más reducción cuanto mayor sea el número de clases) y una infinita ganancia de tiempo a la hora de corregir y modificar ese código.

(*) Piensa que un método genérico siempre se podrá "sobreescribir" en el caso de que te haga falta.

Además no sólo hablamos del método LoadFromDB, sino que a medida que vayas evolucionando en tu programa te aparecerán códigos como InsertarDb, EliminarDB, ClonarObjeto, AssignarObjeto, ExportarObjeto,...
Sólo hay que ir multiplicando...
Actualmente yo utilizo InsertarDb, EliminarDB, ClonarObjeto, AssignarObjeto, ExportarObjeto, codificandolo "en duro", claro esta yo no hago una clase por cada tabla en mi base de datos, solo aplico esa metodologia con las clases mas importantes, saludos
__________________
nuestro carácter está reflejado en cada línea de código que escribimos.
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Copiar el contenido de un DataSet a otro DataSet Javi2 Varios 82 22-11-2022 09:26:16
clase que contiene otra clase definida de forma posterior astwin OOP 5 20-02-2009 11:26:55
Actualizar un dataset desde otro dataset jafera Conexión con bases de datos 17 18-12-2008 23:57:10
llenar un combo pzhero .NET 3 07-06-2004 20:13:35
llenar sqlclientdataset jgutti Conexión con bases de datos 5 18-12-2003 18:42:35


La franja horaria es GMT +2. Ahora son las 11:07:30.


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