一个调用存储过程错误的问题

yujingfree 2010-11-18 03:13:00

Set MyComm = Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection = ConnStr
MyComm.CommandText = "Update_User_History"
MyComm.CommandType = 4 '
MyComm.Prepared = true
MyComm.Parameters.append MyComm.CreateParameter("@ExerciseEnd",2,1,4,ExerciseID)
MyComm.Parameters.append MyComm.CreateParameter("@ID",2,1,4,User_History_ID)
MyComm.Execute
if MyComm.Parameters(0)= 1 then
response.write ("<script language='javascript'>alert('成功');</script>")
else
response.write ("<script language='javascript'>alert('错误');</script>")
end if

始终是错误修改不了数据,在sql的中调试存储过程没有问题,可以正常修改。
传过来的两个参数也没有问题,但是不知道哪里出的问题
数据库是mssql 2005
...全文
59 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujingfree 2010-11-18
  • 打赏
  • 举报
回复
这个是存储过程
yujingfree 2010-11-18
  • 打赏
  • 举报
回复

USE [MS_Training]
GO
/****** 对象: StoredProcedure [dbo].[Update_User_History] 脚本日期: 11/18/2010 20:50:57 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Update_User_History]
-- Add the parameters for the stored procedure here
@ID int,
@ExerciseEnd int
AS
set nocount on
begin
BEGIN TRANSACTION
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.

-- Insert statements for procedure here
UPDATE [MS_Training].[dbo].[User_History]

SET [ExerciseEnd]= @ExerciseEnd

WHERE
( [ID] = @ID)
IF @@error=0
begin
COMMIT TRANSACTION
return 1
end
ELSE
begin
ROLLBACK TRANSACTION
return 0
end
return
end

xuyongx 2010-11-18
  • 打赏
  • 举报
回复
MyComm.CommandType = CommandType.StoredProcedure;
lzp4881 2010-11-18
  • 打赏
  • 举报
回复
存储过程有没有返回值?如果有返回值程序应该加上
MyComm.Parameters.append MyComm.CreateParameter("RETURN",2,4)

如果没有返回值,if MyComm.Parameters(0)当然永远不会是1啦。

你应该把存储过程贴出来。

28,391

社区成员

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

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