Tocayo,
En el RDD SQLBase, y por lo tanto en el SQLMIX, tienes un elemento de la estructura donde se almacena la cadena de la query:
- Code: Select all Expand view RUN
typedef struct _SQLBASEAREA
{
AREA area;
/*
* SQLBASE additions to the workarea structure
*/
LPDBRELINFO lpdbPendingRel;
HB_ULONG ulConnection;
struct _SQLDDCONNECTION * pConnection;
struct _SDDNODE * pSDD;
char * szQuery; /* SQL query */ <------------------ ESTO CREO QUE ES LO QUE QUIERES
HB_ULONG ulRecNo; /* Current record number */
HB_ULONG ulRecCount; /* Total records */
HB_ULONG ulRecMax; /* Size of pRow, pRowFlags buffer */
void ** pRow; /* array of native pointers or cached PHB_ITEM */
HB_BYTE * pRowFlags;
void * pRecord; /* current record */
HB_BYTE bRecordFlags;
HB_BOOL fFetched;
HB_BOOL fPositioned;
HB_BOOL fAppend;
HB_BOOL fRecordChanged;
void * pSDDData; /* SDD specific data */
} SQLBASEAREA, * SQLBASEAREAP;
Y para obtener la cadena se podría consultar con dbinfo
- Code: Select all Expand view RUN
static HB_ERRCODE sqlbaseInfo( SQLBASEAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pItem )
{
switch( uiIndex )
{
case DBI_QUERY:
hb_itemPutC( pItem, pArea->szQuery );
break;
default:
return SUPER_INFO( &pArea->area, uiIndex, pItem );
}
return HB_SUCCESS;
}
en hbrddsql.ch esta definida la constante
- Code: Select all Expand view RUN
#define DBI_QUERY 1001
? dBInfo( DBI_QUERY ) -> cQuery
Ojo, no lo he probado, solo recordaba haberlo leído cuando estaba mirando lo de los RDDs con SQL. Creo que es lo que estas buscando o esta cerca, revisa el codigo fuente de las contribs.