高分求解:如何给存储过程赋日期参数?

lois1 2002-07-29 04:39:08
如何给存储过程赋日期参数?
程序代码如下:

<!--#include file="../../dbcnn.asp"-->
<%
const advarChar = 200
const adParamInput = 1
const adParamOutput = 2
const adDBDate = 133

const adcmdText = 1
const adSmallInt = 2
const adCurrency = 6

Dim Do_Msg
curr_date=date()
curr_date=cdate(curr_date)
usr_id="1234"
deadline="25"
set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
cmd.commandText = "mfee_cost_one_3"
set param = md.CreateParameter "usr_id",adVarChar,adParamInput,6,usr_id)
cmd.Parameters.append Param
set param = cmd.CreateParameter ("@deadline",varchar,135,16,deadline)
'上面这一行总是出错
cmd.Parameters.append Param
set param = cmd.CreateParameter "@curr_datetime",varchar,135,16,curr_date)
cmd.Parameters.append Param
set param = cmd.CreateParameter ("Do_Msg",varchar,adParamOutput,6,Do_Msg)
cmd.Parameters.append Param
set rs=cmd.Execute
%>
<%Do_msg%>
存储过程如下:
create proc mfee_cost_one_3

@curr_datetime datetime,
@usr_id varchar(6),
@deadline varchar(20),
@Do_Msg varchar(80) output

as
select @Do_Msg='aaaaaaaaa'
select @curr_datetime as 'curr_datetime',@usr_id as 'usr_id',@deadline as 'deadline'
go

...全文
82 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyl 2002-07-29
  • 打赏
  • 举报
回复
谢谢!各位大虾!

Do_msg=cmd("@Do_Msg")可以获得存储过程的返回值。
cyl 2002-07-29
  • 打赏
  • 举报
回复
使用这个方法执行
Do_msg=cmd("@Do_Msg")

这个方法是获得初始值
Do_Msg=cmd.parameters("@Do_Msg").value


freezwy 2002-07-29
  • 打赏
  • 举报
回复
使用这个方法执行
cmd.Execute
Do_Msg=cmd.parameters("@Do_Msg").value
lois1 2002-07-29
  • 打赏
  • 举报
回复
不好意思 我的程序bug比较多,
以下是没有bug的,日期类型参数调通了,但是现在又有问题了。

存储过程的返回变量@do_msg。无法返回值?

<!--#include file="../../dbcnn.asp"-->
<%
const advarChar = 200
const adParamInput = 1
const adParamOutput = 2
const adDBDate = 133

const adcmdText = 1
const adSmallInt = 2
const adCurrency = 6
const adDBTimeStamp = 135
Dim Do_Msg
curr_date=date()
curr_date=cdate(curr_date)
usr_id="1234"
deadline="25"
set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
cmd.commandText = "mfee_cost_one_3"
set param = cmd.CreateParameter ("@curr_datetime",adDBTimeStamp,adParamInput,8,curr_date) '这一行总是出错
cmd.Parameters.append Param
set param = cmd.CreateParameter ("usr_id",adVarChar,adParamInput,6,usr_id)
cmd.Parameters.append Param
set param = cmd.CreateParameter ("deadline",adVarChar,adParamInput,6,deadline)
cmd.Parameters.append Param
set param = cmd.CreateParameter ("Do_Msg",adVarChar,adParamOutput,80,Do_Msg)
cmd.Parameters.append Param
set rs=cmd.Execute

%>
<%=Do_msg%><BR>

存储过程如下:
create proc mfee_cost_one_3

@curr_datetime datetime,
@usr_id varchar(6),
@deadline varchar(6),
@Do_Msg varchar(80) output
as

select @Do_Msg='aaaaaaaaa'
huguangwu 2002-07-29
  • 打赏
  • 举报
回复
set param = md.CreateParameter "usr_id",adVarChar,adParamInput,6,usr_id)

应该是cmd吧

datetime是8
lois1 2002-07-29
  • 打赏
  • 举报
回复
谢谢!帮了我一个大忙。
kmlinda 2002-07-29
  • 打赏
  • 举报
回复
试试用date代替varchar
freezwy 2002-07-29
  • 打赏
  • 举报
回复
使用类型是adDBTimeStamp,长度8
你的第一个参数的语句应该是CMD,不是MD

28,409

社区成员

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

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