FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Como capturar sentencia SQL desde el lado cliente?
Hola!, Estoy realizando una aplicación datasnap (ex midas) en delphi 2010 y me tope con un inconveniente ya que necesito obtener la sentencia SQL desde una función en la aplicación cliente. El problema es que los componentes DataSetProviderConnection + ClientDataSet que son lo que usamos del lado cliente ninguno trabaja con las sentencias ya que estos leen los datos del servidor donde se encuentra el SQLDataSet, que es el que tiene el CommnandText.
¿Alguien a podido obtener la sentencia SQL a partir de un ClientDataSet de la capa cliente? |
#2
|
||||
|
||||
Normalmente los RBDMS tienen funciones para obtener las últimas instrucciones ejecutadas por cada conexión, obviamente que esto difiere en cada motor. Desconozco que motor usas y si te serviría averiguar esta info por esos lados...
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Creo que podrías apoyarte en los propios eventos de TDataSetProvider y TClientDataSet (como el evento AfterGetRecords de este último), pero antes explica por favor la razón de esa necesidad.
|
#4
|
||||
|
||||
Gracias
Bueno buscare con respecto a estos temas, el porque de todo esto es que estoy migrando una aplicación cliente/servidor de delphi 6 al datasnap de delphi 2010. Muchas de las funciones que estaban creadas estoy viendo si se pueden reutilizar o por lo menos algunas lineas de ellas.
|
#5
|
|||
|
|||
Hola si lo que utilizas es Interbase o Firebird... Hay aplicaciones como Sinatica Monitor o InterBase Performance Monitor que te permiten capturas las consultas e incluso analizar el rendimiento, ver desde que puesto de trabajo se ejecuto y otras cosas mas....
Espero que te sirva... Saluda atte Neeruu!!!
__________________
Saluda Atte Neeruu!!! :) |
#6
|
||||
|
||||
Bueno una posible solución
utilizando el consejo de Al Gonzalez:
Es utilizar el evento BeforeGetRecords del DataSetProvider ubicado en la aplicacion servidor, con algo parecido a lo siguiente:
y se obtiene la sentencia en la aplicacion cliente, en el AfterGetRecords del ClientDataSet:
¿Para que nos podria servir esto? Podemos trabajar con el ClientDataSet y su propiedad CommandText, cambiando la sentencia SQL y luego asignar nuevamente la sentencia original. Algo util cuando trabajamos con ABM en grillas. Saludos. Última edición por Jere_84 fecha: 01-08-2012 a las 17:10:02. Razón: para ampliar la informacion |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como ejecutar video en un cliente Delphi 4 desde un servidor Web ? | rolandoj | Internet | 4 | 30-04-2011 23:08:02 |
Como capturar el error sql desde Zeos? | quinqui | MySQL | 1 | 17-09-2008 16:49:13 |
Ordenar datos del Lado del Cliente | Efren2006 | OOP | 4 | 30-05-2008 17:01:48 |
DBExpress del lado cliente | diegofhernando | Conexión con bases de datos | 1 | 08-04-2005 19:12:21 |
Como capturar puertos desde una dll... ??? | Blazer2104 | Internet | 0 | 15-11-2004 23:14:26 |
|