
May 12th, 2000, 08:21 PM
|
|
Contributing User
|
|
Join Date: Dec 2002
Posts: 14,575
  
Time spent in forums: < 1 sec
Reputation Power: 22
|
|
|
HELP! ADO won't return my stored procedure's return values
<i><b>Originally posted by : BTorchin (BTorchin@aol.com)</b></i><br /><br />Environment: InterDEV 6.0 / MS SQLServer v7.0 / IIS 4.0<br /><br />I am trying to return a status code from a stored proc, but all I get are empty values (RETURN_VALUE and @Err are blenk). The SP returns the values when called from another stored proc, so I know the problem is either my ADO code, some environment issue, or mabey just bad karma. What am I doing wrong?<br /><br />--------------------ASP Code:<br /> Set conn = Server.CreateObject("ADODB.Connection")<br /> conn.ConnectionTimeout = Application("Arp_ConnectionTimeout")<br /> conn.CommandTimeout = Application("Arp_CommandTimeout")<br /> conn.Open Application("Arp_ConnectionString"), _<br /> Application("Arp_RuntimeUserName"), _<br /> Application("Arp_RuntimePassword")<br /> Set cmd = Server.CreateObject("ADODB.Command")<br /> <br /> cmd.CommandText = "dbo.DeleteCheck"<br /> cmd.CommandType = adCmdStoredProc<br /> cmd.ActiveConnection = conn<br /> set mParm = cmd.CreateParameter("RETURN_VALUE", adInteger ,adParamReturnValue)<br /> cmd.Parameters.Append mParm<br /> set mParm = cmd.CreateParameter("@CheckNo", adChar,adParamInput,10,CheckToDelete)<br /> cmd.Parameters.Append mParm<br /> set mParm = cmd.CreateParameter("@Outval", adInteger,adParamOutput)<br /> cmd.Parameters.Append mParm<br /> <br /> Set rs = Server.CreateObject ("ADODB.Recordset")<br /><br /> Set rs = cmd.Execute<br /><br />-------------------SQL Code<br />declare @rows int, @BatchStatus char(11), @Err int<br /> SELECT @Err = 3<br /> SELECT Trans.CheckNo, Trans.Amount, Trans.GroupOutID, Trans.IssueDate, GroupOut.BatchOutID, BatchOut.BatchOutStatus, Account.AccountDesc<br /> FROM Account <br /> INNER JOIN GroupOut ON Account.AccountID = GroupOut.AccountID <br /> INNER JOIN BatchOut ON GroupOut.BatchOutID = BatchOut.BatchOutID <br /> INNER JOIN Trans ON GroupOut.GroupOutID = Trans.GroupOutID <br /> WHERE (Trans.CheckNo = @CheckNo) and (BatchOutStatus <> 'Closed')<br /> <br /> SELECT @rows = @@rowcount<br /> <br /> if @rows = 1 <br /> begin<br /> DELETE Trans WHERE CheckNo = @CheckNo <br /> SELECT @Err = 0<br /> end <br /> else<br /> begin <br /> if @rows < 1<br /> SELECT @Err = 1<br /> else <br /> SELECT @Err = 2<br /> end <br /><br /> SELECT @Outval = @Err<br /> RETURN @Err<br /><br /><br /><br />Thanks!!!!!<br />
|