tdolphin y el metodo loadquery()

tdolphin y el metodo loadquery()

Postby goosfancito » Wed Sep 17, 2014 2:09 pm

Consulta:

Tengo:

Code: Select all  Expand view
#define DATOS;
            "SELECT * FROM tbclientes where tbclientes.id = " + clipvalue2sql( nId )

DEFINE QUERY oQry  DATOS

...


y cuando cambio el valor de "nId" necesito recargar el oQry,
y lo que hice fue :

Code: Select all  Expand view
oQry:loadquery()


pero... al ver el valor que tiene oQry:cQuery el nID no cambió.
Mi pregunta: tengo que volver a ejecutar:
Code: Select all  Expand view
DEFINE QUERY oQry  DATOS

para que me tome el nuevo nId?

gracias
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: tdolphin y el metodo loadquery()

Postby carlos vargas » Wed Sep 17, 2014 4:38 pm

hasta donde recuerdo #define se utiliza para declarar CONSTANTES (valores que no cambian).
no creo que #define DATOS .... sea la opcion mas idonea para lo que intentas realizar.
deberias utilizar variables de tipo privadas.


salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1691
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: tdolphin y el metodo loadquery()

Postby goosfancito » Wed Sep 17, 2014 5:02 pm

en mi caso los declaro en un .ch y funcionan de diez. excepto esto que me pasa ahora ocn la tdolphin y el xbrowse.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: tdolphin y el metodo loadquery()

Postby Biel EA6DD » Thu Sep 18, 2014 6:39 am

LoadQuery no te sirve para tu propósito, puesto que ejecuta la consulta con el string que se evaluó en la sentencia inicial y queda grabado en el data de la clase( ::cQuery), no tiene en cuenta los cambios futuros en tu variable.

Puedes probar con el método SetWhere que permite mantener el select e indicarle una nueva clausula where.
Code: Select all  Expand view

nId:=10
oQry:SetWhere("tbclientes.id = " + clipvalue2sql( nId ))
 
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Re: tdolphin y el metodo loadquery()

Postby goosfancito » Thu Sep 18, 2014 10:38 am

Biel EA6DD wrote:LoadQuery no te sirve para tu propósito, puesto que ejecuta la consulta con el string que se evaluó en la sentencia inicial y queda grabado en el data de la clase( ::cQuery), no tiene en cuenta los cambios futuros en tu variable.

Puedes probar con el método SetWhere que permite mantener el select e indicarle una nueva clausula where.
Code: Select all  Expand view

nId:=10
oQry:SetWhere("tbclientes.id = " + clipvalue2sql( nId ))
 


a Ok. y luego si ejecuto el LoadQuery?
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: tdolphin y el metodo loadquery()

Postby Biel EA6DD » Thu Sep 18, 2014 11:09 am

goosfancito wrote:
a Ok. y luego si ejecuto el LoadQuery?

No debiera hacer falta, puesto que por defecto SetWhere refresca el Query.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 16 guests