Subject | RE: [IBO] A problem with a procedure |
---|---|
Author | Malcolm Smith |
Post date | 2004-11-29T09:07Z |
Helen, thanks for the response.
I'm still quite new to all this (and do it very infrequently).
My 'common source code' is used by SQL routines that potentially return more
than one record. I made an incorrect assumption that my one-and-only-one SP
would work the same. In the original code posted I determine if there are
any records by checking for Eof after the call to First().
How do I check if the one-and-only-one SP has actually returned any data ?
Am I suppose to check against the initialized values for a change ?
danieL and myself have your book passing across the table each day. We both
thank you for your efforts and lengthy responses.
---
Malcolm Smith
MJ Freelancing
http://www.mjfreelancing.com
Borland Technology Partner
Contributing Editor
C++Builder Developers Journal
FREE issue: http://bcbjournal.org/subscriptions.php
-----Original Message-----
From: Helen Borrie [mailto:helebor@...]
Sent: Monday, 29 November 2004 14:40
To: IBObjects@yahoogroups.com
Subject: RE: [IBO] A problem with a procedure
Malcolm,
I'll insert my comment here as I know Jason won't answer this until
tomorrow, due to Sabbath observance...
At 12:34 PM 29/11/2004 +1100, you wrote:
[snip]
-- if you want a one-and-one-only row set returned (as the architecture of
your SP dictates) then you use EXECUTE PROCEDURE in your SQL property and
you call Execute to execute it. After that, read Fields[], which is a
single TIB_Row. There is no cursor associated with an executable SP, hence
the error you are getting by calling First().
you initialise the return arguments. Inside the procedure, they are just
variables. PSQL doesn't do any magic in this respect...
Helen
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.802 / Virus Database: 545 - Release Date: 26/11/2004
I'm still quite new to all this (and do it very infrequently).
My 'common source code' is used by SQL routines that potentially return more
than one record. I made an incorrect assumption that my one-and-only-one SP
would work the same. In the original code posted I determine if there are
any records by checking for Eof after the call to First().
How do I check if the one-and-only-one SP has actually returned any data ?
Am I suppose to check against the initialized values for a change ?
danieL and myself have your book passing across the table each day. We both
thank you for your efforts and lengthy responses.
---
Malcolm Smith
MJ Freelancing
http://www.mjfreelancing.com
Borland Technology Partner
Contributing Editor
C++Builder Developers Journal
FREE issue: http://bcbjournal.org/subscriptions.php
-----Original Message-----
From: Helen Borrie [mailto:helebor@...]
Sent: Monday, 29 November 2004 14:40
To: IBObjects@yahoogroups.com
Subject: RE: [IBO] A problem with a procedure
Malcolm,
I'll insert my comment here as I know Jason won't answer this until
tomorrow, due to Sabbath observance...
At 12:34 PM 29/11/2004 +1100, you wrote:
[snip]
-- if you want a one-and-one-only row set returned (as the architecture of
your SP dictates) then you use EXECUTE PROCEDURE in your SQL property and
you call Execute to execute it. After that, read Fields[], which is a
single TIB_Row. There is no cursor associated with an executable SP, hence
the error you are getting by calling First().
>For now I'll have to use the SQL statement as indicated above.Really, you only have to call the correct methods...and DO make sure that
you initialise the return arguments. Inside the procedure, they are just
variables. PSQL doesn't do any magic in this respect...
Helen
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.802 / Virus Database: 545 - Release Date: 26/11/2004