请问怎么把一个变量值传递给存储过程里的一个变量

no_mIss 2005-11-02 10:18:13
<!--#include file="Inc/connDB.asp"-->
<%
dim Newid,cmd,rs
Newid=Request("id")
set cmd = server.CreateObject("ADODB.Command")
cmd.Activeconnection=conn
cmd.commandType=adCMdStoreproc
cmd.commandText="sp_a"
cmd.Parameters.Append cmd.CreateParameter ("@d", adVarchar, adParamInput,6,Newid)
set Rs=cmd.Execute()
%>

把Newid的值传给存储过程sp_a里的@d
sp_a为

create proc sp_a
as
declare @d int
select * from miss_admin where Id=@d
go

结果总是提示:ADODB.Command 错误 '800a0bb9'

变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。
/b.asp,行21
21行为:cmd.commandType=adCMdStoreproc

数据库里的Id 为 int
...全文
125 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
no_mIss 2005-11-02
  • 打赏
  • 举报
回复
To xhbmj(俱往矣,数风流人物还看今朝)
我试过这个地方,居然是什么都无所谓。。。。

To dh20156(风之石)
cmd.Parameters("@d") = Newid
这个方法不错。。。。
no_mIss 2005-11-02
  • 打赏
  • 举报
回复
To:dh20156(风之石) 谢谢!

搞定,你的是对的,不过还有一个地,必须要cmd.commandType=adCMdStoreproc改成cmd.commandType=4才行,不知道为什么?
ps:页面已经有:
<!--#include file="Inc/adovbs.inc"-->
Option Explicit
On Error Resume Next
无爱大叔 2005-11-02
  • 打赏
  • 举报
回复
cmd.Parameters.Append cmd.CreateParameter ("@d", adVarchar, adParamInput,6,Newid)
注意这句,你传入存储的是varchar,而你在存储中的参数是Int
改成这样看看:
cmd.Parameters.Append cmd.CreateParameter ("@d", adInteger, adParamInput,4,Newid)
dh20156 2005-11-02
  • 打赏
  • 举报
回复
SORRY,忘了关注你的存储过程了。
create proc sp_a
as
declare @d int
select * from miss_admin where Id=@d
go
改:
create proc sp_a
@d int
as
select * from miss_admin where Id=@d
go
no_mIss 2005-11-02
  • 打赏
  • 举报
回复
To: PcVSBirds(pc_birds)
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

ODBC 驱动程序不支持所需的属性。

/b.asp,行38

To: dh20156(风之石)
ADODB.Command 错误 '800a0bb9'

变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。

/b.asp,行21

谢谢两位...还是不行呢?
dh20156 2005-11-02
  • 打赏
  • 举报
回复
cmd.Parameters("@d") = Newid
PcVSBirds 2005-11-02
  • 打赏
  • 举报
回复

sql="exec sp_a,"&Newid&""

set rs = connObj.Execute(sql)

28,391

社区成员

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

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