一个存储过程的小问题!大家来帮帮忙

cdsun 2004-11-24 11:39:20
存储过程为
CREATE proc del_Sducn_Tolook
@choice varchar (50)
with recompile
as
if @choice='del'
delete from Tolook WHERE datepart(dd,GetDate())-datepart(dd,looktime)>=30
GO

执行为
set cmd=server.createobject("ADODB.command")
cmd.activeconnection=conn
cmd.commandtext="del_Sducn_Tolook"
Cmd.CommandType=adCmdStoredProc

set param1=cmd.createparameter("@choice",advarchar,adparaminput,50)
cmd.parameters.append param1
cmd("@choice")="del"
cmd.execute


报错为:
ADODB.Command 错误 '800a0bb9'

参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。



Cmd.CommandType=adCmdStoredProc 就是这里报错

请问大家是什么问题。我第一次用大家指点一下
...全文
113 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cheng17 2004-11-28
顶一下 falconshh(香椿炒鸡蛋(JS研究中...))
回复
cdsun 2004-11-28
遇到问题我就请较大家


应该没错吧!

回复
cdsun 2004-11-28
晕哦

我其实很久以前就是5个3角了

很久很久没有再继续学习asp了

所以就像现在这样了

悲哀啊
回复
liujinchang 2004-11-28
顶一下
回复
tufun 2004-11-27
先在你的机器上搜索到adovbs.inc考到你的目录下

<!--#include file=adovbs.inc-->加上就行了
回复
香椿炒鸡蛋 2004-11-27
楼主五个三角!!! 汗
回复
香椿炒鸡蛋 2004-11-27
先改这个
Cmd.CommandType=4

set param1=cmd.createparameter("@choice",200,1,50)

对了 为什么要用这个datepart(dd,GetDate())呢 怎么不用这个 DATEDIFF(day, pubdate, getdate())

USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO

应该可以解决了
回复
comszsoft 2004-11-26
用这个试试看:
set rs=conn.execute("del_Sducn_Tolook '" & @del & "'")
或 conn.execute("del_Sducn_Tolook '" & @del & "'")
回复
zhhl 2004-11-26
加入adovbs.inc
回复
Goldrush 2004-11-26
datepart(dd,GetDate()) 获得当前日期
如果今天是2004-11-31
则得到31
datepart(dd,looktime)
如2005-05-01
获得那日的日期1
满足条件就被删除了这就不行了。这种方法是不能实现你所想要的结果的

回复
cdsun 2004-11-24
大家帮忙顶顶啊
回复
cdsun 2004-11-24
还有就是
delete from Tolook WHERE datepart(dd,GetDate())-datepart(dd,looktime)>=30
为什么不能达到我想要的目的阿?


就是说和当前日期比较删除30天以前的
回复
cdsun 2004-11-24
问题依旧
回复
fenlin 2004-11-24
Cmd.CommandType=adCmdStoredProc 就是这里报错
改为 Cmd.CommandType=4
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-11-24 11:39
社区公告
暂无公告