解决立刻给分(在线等):多步 OLE DB 操作产生错误。请检查每个 OLE DB 状态值。没有工作被完成。这个错误是怎么回事?

yyy431706 2003-08-30 11:49:56
存储过程如下:
CREATE PROCEDURE inse
@input_num numeric(9)-- This is the input parameter.
AS
-- Get the sales for the specified title.
insert into example(number) values (@input_num)
asp里调用如下:
<%option explicit%>

<!--METADATA TYPE="TypeLib" uuid="{00000205-0000-0010-8000-00AA006D2EA4}" -->

<%
dim conn,cmd,rs,strconn,input,int_recordcount,out


set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=sql;uid=sa;pwd=yyy-hao"
response.write "sql"
conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText="inse"
cmd.commandType=adCmdStoredProc

cmd.Parameters.Append cmd.CreateParameter("@input_num",adNumeric,adParamInput,9,99129215)

cmd.execute()


response.write "success"

%>
...全文
33 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyy431706 2003-08-30
  • 打赏
  • 举报
回复
up
yyy431706 2003-08-30
  • 打赏
  • 举报
回复
up
yyy431706 2003-08-30
  • 打赏
  • 举报
回复
段类型不对或字段长度不好象没有错呀,快帮我看看吧
txlicenhe 2003-08-30
  • 打赏
  • 举报
回复
多步操作一般是字段类型不对或字段长度不对引起的,查查吧。
yyy431706 2003-08-30
  • 打赏
  • 举报
回复
等待中
yyy431706 2003-08-30
  • 打赏
  • 举报
回复
等待中
yyy431706 2003-08-30
  • 打赏
  • 举报
回复
报错如下:


Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

多步 OLE DB 操作产生错误。请检查每个 OLE DB 状态值。没有工作被完成。

/test/text_proc.asp,行33
yyy431706 2003-08-30
  • 打赏
  • 举报
回复
结帐
yyy431706 2003-08-30
  • 打赏
  • 举报
回复
yyy431706 (共同进步) 和 fclz2000() ( )
都是我,哈哈
zjcxc 元老 2003-08-30
  • 打赏
  • 举报
回复
我一般不用:
cmd.Parameters.Append cmd.CreateParameter("@input_num",adNumeric,adParamInput,9,99129215)

虽然ADO的帮助文档是用那种方法.

因为我发现很多时候都会出错,也许是我对.CreateParameter各参数的理解不太深吧.

所以出错的原因我只能估计是出现在:CreateParameter("@input_num",adNumeric,adParamInput,9,99129215)上
fclz2000 2003-08-30
  • 打赏
  • 举报
回复
哦,解决了,但是为什么要这样做呢,
zjcxc(邹建)兄,能给我讲一讲吗?
谢谢,马上结帐
fclz2000 2003-08-30
  • 打赏
  • 举报
回复
不行呀,报错如下:
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

ADODB.Command 错误 '800a0cc1'

项目在所需的名称或序数中未被发现。

/test/text_proc.asp,行25
zjcxc 元老 2003-08-30
  • 打赏
  • 举报
回复
试试:
将下面这句
cmd.Parameters.Append cmd.CreateParameter("@input_num",adNumeric,adParamInput,9,99129215)


改为:
cmd.Parameters.Refresh
cmd.Parameters("@input_num")=99129215
fclz2000 2003-08-30
  • 打赏
  • 举报
回复
我也不知道呀

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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