asp 调用MS-sql 存储过程时提示“指定的参数太多”

xxjfhh 2006-01-05 03:47:36
--存储过程如下
-----------------------------------------------------------
CREATE PROCEDURE InsertSpeciality
@QxID int = null ,
@FromGroup nvarchar(20) = null ,
@ToGroup nvarchar(20) = null ,
@FromUser nvarchar(20) = null ,
@Reason nvarchar(200) = null ,
@outSpID int output ,
@outQxNumber nvarchar(28) output
AS
SET NOCOUNT ON
--定义过程内部的变量--------
DECLARE @ExistSomebody bit
DECLARE @BanZu nvarchar(10)
DECLARE @RequestTime datetime
SELECT @RequestTime = GETDATE()


-----判断是否存在该用户不存在返回1---

EXECUTE @ExistSomebody=ExistSomeUser @UserName=@FromUser
IF @ExistSomebody = 1
BEGIN
RETURN 1
END

-----判断是否存在该条缺陷,不存在返回3---

IF NOT EXISTS (SELECT * FROM Qx WHERE QxID=@QxID)
BEGIN
RETURN 3
END
------判断是否自已岗位的缺陷,否则返回2-------
SELECT @BanZu = (SELECT InceptGroup
FROM Qx
WHERE QxID = @QxID)
IF @BanZu <> (SELECT UserBanzu
FROM QxUser
WHERE UserName=@FromUser )
BEGIN
RETURN 2
END
------判断缺陷专业是否可以转换,否则返回4-------
IF '已接收' <> (SELECT QxState
FROM Qx
WHERE QxID = @QxID)
BEGIN
RETURN 4
END
-------判断专业表内是否有相关缺陷的记录,否则返回5------
IF EXISTS (SELECT * FROM Speciality WHERE QxID=@QxID)
BEGIN
RETURN 5
END
---------------填充必须的字段
INSERT Speciality ( QxID ,
FromGroup ,
ToGroup ,
FromUser ,
Reason ,
RequestTime
)
--------------------- 用以下的变量
SELECT @QxID ,
@FromGroup ,
@ToGroup ,
@FromUser ,
@Reason ,
@RequestTime
------------------------------------- 返回最新的ID
SELECT @outSpID = @@IDENTITY
SELECT @outQxNumber=(SELECT QxNumbers FROM Qx WHERE QxID= @QxID)
RETURN 0
-------------------------------------
GO
--------------------------------------------------------------

'asp 代码如下
'--------------------------------------------------------------

function spInsertSpeciality (QxID,FromUser,FromGroup,ToGroup,Reason)
dim cmdInsertSpeciality
' response.Write("QxID--"&QxID&"<br>")
' response.Write("FromUser--"&FromUser&"<br>")
' response.Write("FromGroup--"&FromGroup&"<br>")
' response.Write("ToGroup---"&ToGroup&"<br>")
' response.Write("Reason---"&Reason&"<br>")
' response.End()

Set cmdInsertSpeciality = Server.CreateObject("adodb.Command")
cmdInsertSpeciality.ActiveConnection = conn
cmdInsertSpeciality.CommandType = adCmdStoredProc
cmdInsertSpeciality.CommandText = "InsertSpeciality"
cmdInsertSpeciality.Parameters.Append cmdInsertSpeciality.CreateParameter("@ReturnValue",_
adParamReturnValue)
cmdInsertSpeciality.Parameters.Append cmdInsertSpeciality.CreateParameter("@QxID",_
adInteger, adParaminput)
cmdInsertSpeciality("@QxID")=QxID
cmdInsertSpeciality.Parameters.Append cmdInsertSpeciality.CreateParameter("@FromGroup",_
adVarChar, adParaminput,20)
cmdInsertSpeciality("@FromGroup")=FromGroup
cmdInsertSpeciality.Parameters.Append cmdInsertSpeciality.CreateParameter("@ToGroup",_
adVarChar, adParaminput,20)
cmdInsertSpeciality("@ToGroup")=ToGroup
cmdInsertSpeciality.Parameters.Append cmdInsertSpeciality.CreateParameter("@FromUser",_
adVarChar, adParaminput, 20)
cmdInsertSpeciality("@FromUser")=FromUser
cmdInsertSpeciality.Parameters.Append cmdInsertSpeciality.CreateParameter("@Reason",_
adVarChar, adParaminput,200)
cmdInsertSpeciality("@Reason")=Reason
cmdInsertSpeciality.Parameters.Append cmdInsertSpeciality.CreateParameter("@outSpID",_
adInteger, adParamoutput)
cmdInsertSpeciality.Parameters.Append cmdInsertSpeciality.CreateParameter("@outQxNumber",_
adVarchar, adParamoutput,28)

cmdInsertSpeciality.Execute()
QxNumber=cmdInsertSpeciality("@outQxNumber")
spInsertSpeciality = cmdInsertSpeciality("@ReturnValue")
set cmdInsertSpeciality = Nothing
end function

'--------------------------------------------------------------
...全文
65 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxjfhh 2006-01-05
  • 打赏
  • 举报
回复
怎么没有人理我啊

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧