Ver Mensaje Individual
  #6  
Antiguo 20-02-2009
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Reputación: 21
RONPABLO Va por buen camino
El DataSet trae muchas ventajas como dice defcon1_es, por ejemplo yo siempre para crear las sentencias en el selectSQL primero pongo algo como:
Código SQL [-]
    select * from PermisosXPerfil

Esa tabla tiene 3 campos, id, idPermiso, idPerfil, si yo veo esto en un DBGrid es algo como:

Cita:
id idPermiso idPerfil
1 1 1
2 1 2
3 2 1
4 2 2
Si vemos, esos datos no son muy dicientes, entonces, yo cambio el selectSQL pero antes de cambiarlo uso el DataSet Editor para crear las sentencias insert, update, delete y refresh, ya que estos son los campo que voy a trabajar

Código SQL [-]
update TPERMISOS_PERFIL
set
  ID = :ID,
  IDPERMISO = :IDPERMISO,
  IDPERFIL = :IDPERFIL
where
  ID = :OLD_ID

Código SQL [-]
insert into TPERMISOS_PERFIL
  (ID, IDPERMISO, IDPERFIL)
values
  (:ID, :IDPERMISO, :IDPERFIL)

Código SQL [-]
delete from TPERMISOS_PERFIL
where
  ID = :OLD_ID

Código SQL [-]
Select 
  CODIGO,
  PERFIL,
  PERMISO
from TPERMISOS_PERFIL 
where
  ID = :ID


Ahora si cambio el selectSQL por:

Código SQL [-]
select pp.*, pm.NOMBRE PERMISO, per.NOMBRE perfil from TPERMISOS_PERFIL pp
left join TPERFILES per on per.ID = pp.IDPERFIL
left join TPERMISOS pm on pm.ID = pp.IDPERMISO
where pp.IDPERFIL = :IDPERFIL
order by pp.IDPERMISO

Así tengo un resultado con menos registros, más datos para mostrar por registro y más entendible:
Cita:
id idPermiso idPerfil Permiso Perfil
1 1 1 leer Admon Administrador
3 2 1 Borrar enAdmon Administrador
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita