Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 24-04-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Eso es algo que anteriormente se ha hablado aquí, lo puedes encontrar si buscas "capas lógicas" o "2.5 capas" (que es como osé llamarle).

Es decir, que sí puedes usar componentes proveedores (TDataSetProvider) y conjuntos de datos clientes (TClientDataSet), aunque tu aplicación no necesariamente esté dividida en tres capas y sin dejar de utilizar ADO.

Asignarle un TADOXXX a un TDataSetProvider no tienen ninguna dificultad: los componentes proveedores pueden conectarse con cualquiera de los componentes de acceso a datos que existen.

Si mantienes tus conjuntos de datos clientes fuera del módulo de datos donde se encuentran los proveedores (lo cual me parece bien pensando en esta división lógica de capas), no podrás asociar en tiempo de diseño un TClientDataSet nativo con un TDataSetProvider, pues el primero no tienen propiedad pública "Provider", sino "ProviderName", la cual está pensada para establecer en ella el nombre de un componente proveedor que se encuentre en:

a) un módulo de datos remoto (en el servidor de aplicaciones).
b) el mismo módulo de datos o formulario donde se encuentre el conjunto de datos cliente.

Es decir, que la propiedad ProviderName no sirve para asignar un proveedor que se encuentre en la misma aplicación, pero en un módulo de datos distinto (al menos hasta Delphi 7 es así). No obstante, en tiempo de ejecución, podrías realizar un asignación como esta en el OnCreate del formulario:

Código Delphi [-]
CDS1.SetProvider (dmModuloProveedores.DSP1);

Una recomendación sería, en tiempo de diseño, agregar el conjunto de datos cliente en el módulo de datos de proveedores, asignarle valor a la propiedad ProviderName, agregar los campos persistentes (si fuese el caso) y los parámetros ("Fetch Params") al conjunto de datos. Y, una vez probado que abra y cierre sin problemas, moverlo al módulo de datos o formulario donde realmente quieres tenerlo. Pero eso sí, tendrás que asignarle el proveedor mediante una sentencia de código como la anterior.

Espero haberte orientado.

Al González.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Conectar varias Bases de Datos con Server DataSnap gcaffe Providers 5 22-05-2016 01:55:09
Querys en DataSnap juank1971 Conexión con bases de datos 10 15-07-2014 13:04:55
DataSnap o LAMP Chris Debates 70 24-07-2012 18:42:48
Webinar: Estrategias y herramientas para el desarrollo de aplicaciones DataSnap Andreano Noticias 5 10-12-2010 08:05:30
Midas y DataSnap Toni Providers 1 09-07-2003 18:30:47


La franja horaria es GMT +2. Ahora son las 14:30:54.


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