In a message dated 8/19/2009 9:22:00 A.M. Eastern Daylight Time,  
[email protected] writes:

On Aug  19, 2009, at 8:33 AM, [email protected] wrote:

> 1) Can you point  us to the place in the appwizard-generated code  
> where  the
> work of the requery takes place(building the clause and  executing  
> the sql)?
> I  know it's probably right in  front of me, but I can't see it!

It's actually deep in  the database layer. Setting all the components  
of the query using  the methods such as addField, addWhere, etc.,  
establish the parts of  the query. When requery() is called, those  
parts are assembled into  the actual query.

> 2)How do you shift focus from one page on a  pageframe to another?  
> (Using
> the setFocus on a grid on  the other page doesn't seem to be working.)

Use  either:
dPageFrame.SelectedPage = myPage

or

dPageFrame.SelectedPageNumber = 2

> 3) Our attempt to  get this to work is below (bypassing the  
> construction  of
> the where clause, we're just changing the query to something  that  
> should
> get a  subset).
>
>  bizRuns =  self.Form.getBizobj("runs")
> bizRuns.addWhere("run_tech  =  'RUBIN'")
>
>  dabo.ui.info(bizRuns.getSQL(),title="SQL")
> bizRuns.setSQL()
>  self.Form.requery()
>
> The getSQL returns the query with the new  where clause, but the  
> requery
> gets the original  dataset, ignoring the new where clause.

Ah, I think  you're mixing the two ways of creating SQL.

Dabo provides  SQL Builder capabilities: you define the fields,  
tables, joins,  conditions, groupings, etc., using the SQL builder  
methods. When you  call requery(), Dabo will construct an SQL statement  
on the fly  using the syntax of your current backend database.

However, you're not required to use these methods. You can directly   
set the SQL you want to run to get your data; if you do that, all of   
your SQL Builder calls and settings are ignored, and your explicit  SQL  
is used.

setSQL() is a deprecated call that  sets the UserSQL property of the  
bizobj (you should just set UserSQL  directly). If the UserSQL is not  
empty, it is used directly; you can  call addWhere() all day long and  
nothing different will  happen.

Try removing the calls to setSQL(), and any  direct setting of the SQL  
(also deprecated) or UserSQL properties.  Then the bizobj should use  
the SQL Builder calls  instead.


-- Ed Leafe


Thanks Ed, 
We've managed to find some of the machinery for the requery; 
 
<<dPageFrame.SelectedPage = >> worked as you said;
 
And you were right, we were mixing up the two different approaches. Our  
runs bizobj had a userSQL statement rather than addFrom, addField, etc. We  
changed over to "SQL Builder calls " and everything worked as intended.
 
Jonathan


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/[email protected]

Reply via email to