Club Delphi  
    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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2011
delphijm delphijm is offline
Miembro
 
Registrado: abr 2008
Posts: 47
Poder: 0
delphijm Va por buen camino
Hola Al,

Mañana lo probare...

La sentencia select la construyo en tiempo de ejecucion por lo que en tiempo de diseño no conozco los campos que existiran en el dataset...

En algun evento del TSQLDataSet del lado del servidor cambiare estos flags del campo "añadido"... Esto esta claro...

Lo que no veo tan claro es en que evento del TSQLDataSet o quizas mejor del TDataSetProvider, siempre en el lado del servidor, podre asignar valor a esta columna... Como decia en el primer mensaje, me lanzaba un "error catastrofico" cuando intentaba crear el campo y asignarle valor en algunos eventos... Pero quizas el problema estaba en el momento de crear el nuevo campo... Como asi como indicas el campo ya vendra creado quizas me funcione...

Lo probare y ya te contare...

Gracias
Responder Con Cita
  #2  
Antiguo 18-02-2011
delphijm delphijm is offline
Miembro
 
Registrado: abr 2008
Posts: 47
Poder: 0
delphijm Va por buen camino
Hola Al,

Ya me funciona perfectamente... Intento exponer el tema por si sirve de ayuda para alguien...

El tema esta en lo siguiente:

La sentencia select la construyo en el lado del cliente segun mis necesidades y modifico la propiedad "commandtext" del TSQLDataSet del lado del servidor a traves del metodo AS_Execute del interface AppServer del clientDataset asi:

CDSPedidos.AppServer.AS_Execute(provider, commandSQL, params, own)

donde "commandSQL" es la sentencia select que obtengo, ahora no viene al caso como, pero era de un tipo asi:

select PED.*, CLI.nombre as NombreCliente from TABLAPedidos PED
join TABLAClientes CLI on PED.idCliente=CLI.idCliente

Por mas que hacia nunca conseguia que la consulta me devolviera la columna con el nombre del cliente...

Lo siento, me ofusque en enfocar el problema en el join pensando que quizas no podia incluirse join en la propiedad "CommandText"...

El problema es que, en el TSQLDataSet del servidor habia hecho persistentes todos los campos de la tabla PED sin incluir el campo NombreCliente, asi, al ser persistentes todos los campos menos este, claro, nunca me llegaba...

Simplemente he acabado asignando un valor a la propiedad Commandtext del TSQLDataSet del servidor "generica", es decir de un tipo como el anterior, asi al hacer los campos persistentes ya me incluye el nombre del cliente... De hecho lo unico "dinamico" que añado segun mis necesidades en el select es todo lo correspondiente a la clausula "where"...

Y ya esta... pagando la inexperiencia en Delphi, pero persistire en el intento de dominarlo...

Gracias por vuestra ayuda ElKurgan y Al

Josep Mª
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
Base de datos distribuida Vlady Conexión con bases de datos 1 09-02-2011 09:30:34
Ayuda sobre una aplicacion distribuida myj Varios 0 24-04-2010 20:28:56
Cliente servidor vs aplicación distribuida felixgo Providers 10 27-10-2006 20:21:47
modificar documento word desde un servidor joaquinmol Internet 0 31-03-2005 19:41:23
Numero de fila en TSQLDataSet andre Conexión con bases de datos 2 26-06-2003 16:52:42


La franja horaria es GMT +2. Ahora son las 11:12:04.


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