Thank you for your answer.
I run the program that I set error in it previousely
Then I debug it and find the error code is -2134
Now I find a weird thing.
When I connect the database and then disconnect .
After disconnection, The function getGroupInfo() can handle the error
well in the first time .when I run function getGroupInfo() once again.
It can't handle the error, and hange.
The core sentences is following :
EXEC SQL WHENEVER SQLERROR DO handleError("error");
EXEC SQL CONTEXT USE :ctx[contextId];
EXEC SQL WHENEVER NOT FOUND DO handleError("not select row!");
EXEC SQL SELECT logId,accessId,description
INTO :newLoginId,:newAccessId,:newDescription
FROM groupInfo WHERE groupid=:newGroupId;
Can you tell me why ?
Thanks!
-----邮件原件-----
发件人: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 代表 Stephane Faroult
发送时间: 2003年3月26日 16:19
收件人: Multiple recipients of list ORACLE-L
主题: RE: how to confirm the context has been initialized .
>----- ------- Original Message ------- -----
>From: "liujd" <[EMAIL PROTECTED]>
>To: Multiple recipients of list ORACLE-L
><[EMAIL PROTECTED]>
>Sent: Tue, 25 Mar 2003 22:53:44
>
>i write two function .
>one is login function as login(char * password,int
>contextId).this
>function initialize the context environment .and
>login database.
>two is getGroupInfo(char * groupName,int
>contextId); this function is as
>his name to get one group information.And refer to
>ctx[contextId] in the
>login function initial
>the sql_context variable is declared in the *.h as
>following
>EXEC SQL BEGIN DECLARE SECTION;
> sql_context ctx[20];
>EXEC SQL END DECLARE SECTION;
>Now ,my question is in the function two(
>getGroupInfo() ) ,how to judge
>the ctx[contextId] has been initialized before used
>it?
>
>thanks in advance!
>
static char global_init = 0;
/* Initialized at compile-time */
login(..)
{
/* do stuff */
global_init = 1;
}
getGroupInfo()
{
if (!global_init)
{
fprintf(stderr, "Not logged on, get lost\n");
exit(1);
}
/* Now you're safe */
}
And reset global_init to 0 in the logoff function.
Regards,
Stephane Faroult
Oriole
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Stephane Faroult
INET: [EMAIL PROTECTED]
Fat City Network Services -- 858-538-5051 http://www.fatcity.com
San Diego, California -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: liujd
INET: [EMAIL PROTECTED]
Fat City Network Services -- 858-538-5051 http://www.fatcity.com
San Diego, California -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).