Query class question

Doug Easterbrook doug at artsman.com
Mon Nov 20 23:26:47 UTC 2023


question.  is ‘qdepinv’ a schema class or table class.

if it is a query class, then it wont work

you have to define a table class from a table.
the query class is a parameter setting in the table class properties

I only mention that as people usually name queries starting with ‘q'

Doug Easterbrook
Arts Management Systems Ltd.
mailto:doug at artsman.com
http://www.artsman.com
Phone (403) 650-1978

> On Nov 20, 2023, at 4:11 PM, Mike Rowan <mgrowan at fastmail.com> wrote:
> 
> Thanks to all who replied.  Please indulge me a little more as a birthday treat.
> My app is not very complex, but it has over 30 tables and some very involved PG selects. Thus although I am a novice compared to the gurus who replied, I am not a beginner.  I just have never been able to get query classes to work, and I now need them to completely normalise my table structure.
> The replies to date were all helpful but did not solve the problem. Perhaps my over simplification of the example caused a problem.
> 
> Here is the actual stuff I am using as a two-table query test.
> The involved schemas are set to create a table class when used for a list or row. Client 9472 exists, and has five related depot rows.
> 
> The query qdepinv must build a list relating depots to client ID 9472:
> sdepot.de_id                         the schema primary key
> sdepot.de_cl_id                    foreign key to client table
> sclient.cl_name                        the client name 
> Extra text is:
> WHERE sclient.cl_id=sdepot.de_cl_id AND sclient.cl_id=9472
> 
> lSessObj is valid.
> Here is the actual code I'm using as a test case.
> Do *iTestList*.$definefromsqlclass('qdepinv')
> 
> Do *iTestList*.$sessionobject.$assign(*iSessObj*)
> 
> Do *iTestList*.$select('') Returns #F ## returned 0
> 
> Do *iTestList*.$fetch(kFetchAll) ## iList has correct columns but no rows
> 
> 
> Thanks to all.
> 
> 
> On Tue, Nov 21, 2023, at 3:54 AM, Michael Houlberg wrote:
>> Mike,
>> 
>> If I remember correctly, you need to set the $sessionobject when using a query class and no table class.
>> 
>> Michael Houlberg
>> Houlberg Development, LLC
>> 
>> Sent from my iPad
>> 
>>> On Nov 20, 2023, at 6:54 AM, Rudolf Bargholz <rudolf at bargholz.ch> wrote:
>>> 
>>> Hi Mike,
>>> 
>>> You could try to set the extraquerytext to " where 1 = 1 ". Perhaps a missing extraquerytext is being interpreted as an error. Have you checked the iList.$errortext and iList.$sqltext ?
>>> 
>>> Regards
>>> 
>>> Rudolf Bargholz
>>> 
>>> -----Ursprüngliche Nachricht-----
>>> Von: omnisdev-en <omnisdev-en-bounces at lists.omnis-dev.com> Im Auftrag von Mike Rowan
>>> Gesendet: Montag, 20. November 2023 14:35
>>> An: OmnisDev List - English <omnisdev-en at lists.omnis-dev.com>
>>> Betreff: Query class question
>>> 
>>> I am sorry to bother the list again with something that's probably simple, but I'm stuck.
>>> 
>>> I have a PG table of data. I have an Omnis schema and table class for it. I want to load the data into a list, so I do this:
>>> Do iList.$definefromsqlclass('tauthors')
>>> Do iList.$select() Returns #F
>>> Do iList.$fetch(kfFetchAll)
>>> 
>>> That works.
>>> Now I also have a query class, simplest possible. Every column from the sauthors Omnis schema only. No extra text.
>>> If I change the above pseudocode slightly, to use the query, as in:
>>> Do iList.$definefromsqlclass('qauthors')
>>> Do iList.$select() Returns #F
>>> Do iList.$fetch(kFetchAll)
>>> it fails with #F = 0 though the column names are correctly shown in the list.  I don't understand why. Any hint would be welcome. As would a pointer to any more descriptive documentation than I've been able to find in the official online docs.
>>> 
>>> 
>>> Mike Rowan
>>> Mobile: 0417 812 509
>>> Email: mgrowan at fastmail.com
>>> _____________________________________________________________
>>> Manage your list subscriptions at https://lists.omnis-dev.com Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com
>>> _____________________________________________________________
>>> Manage your list subscriptions at https://lists.omnis-dev.com
>>> Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com
>> 
>> _____________________________________________________________
>> Manage your list subscriptions at https://lists.omnis-dev.com
>> Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com 
>> 
> 
> Mike Rowan
> Mobile: 0417 812 509
> Email: mgrowan at fastmail.com
> _____________________________________________________________
> Manage your list subscriptions at https://lists.omnis-dev.com
> Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com



More information about the omnisdev-en mailing list