Re :Re: Calling ExecuteSQL from c++ hangs
Date: Tue, 12 Dec 2000 19:53:05 GMT
Message-ID: <915vmt$v3p$1_at_nnrp1.deja.com>
I don't see a respond button so this might come out as a new post.
The procedure it calls is shown below, that works I tested that in TOAD and have actually called this using ADO before but I was changing things over to using the Oracle classes.
Like I said it just hangs forever. Thanks for any input
procedure update_status(UserName in varchar2, CompCode in number,
ActCode in number, Status in number, ReturnCode out number)
is
numrow number default 0;
begin
select count(*) into numrow from ProjectStatus where UserId = UserName and componentcode = CompCode and actioncode = ActCode;
ReturnCode := numrow;
if (numrow = 0) then
insert into ProjectStatus (UserId, componentcode, actioncode,
statuscode)
values (UserName, CompCode, ActCode, Status);
elsif (numrow = 1) then
update ProjectStatus set statuscode = Status where UserId =
UserName and
componentcode = CompCode and actioncode = ActCode;
else
ReturnCode := -1;
end if;
end;
Using Oracle's ODatabase classes , I'm doing this
ODatabase ODb;
oresult or = ODb.Open
("mydatabase", "myid", "mypassword");
ODb.GetParameters().Add("Name", "Moto",
OPARAMETER_INVAR, OTYPE_VARCHAR2);
ODb.GetParameters().Add("id", 101,
PARAMETER_INVAR, OTYPE_NUMBER);
ODb.GetParameters().Add("Action", 55,
OPARAMETER_INVAR, OTYPE_NUMBER);
ODb.GetParameters().Add("Status", 55,
OPARAMETER_INVAR, OTYPE_NUMBER);
ODb.GetParameters().Add("ReturnCode", 0,
OPARAMETER_OUTVAR, OTYPE_NUMBER);
or = ODb.ExecuteSQL("Begin myproc.Update_Status
(:Name, :id, :Action, :Status, :ReturnCode);
end;");
ODb.Close();
OShutdown();
}
and it makes the execute call and never comes home, ever. Not sure what to do now
Sent via Deja.com
http://www.deja.com/
Received on Tue Dec 12 2000 - 20:53:05 CET