关于VBScript传值存储过程

wangweisilu 2009-08-25 03:44:46
代码如下:<TD height="25" >报修日期:   从
<input type="text" name="BeginTime" size="20" readonly onFocus="setday(this);" style=" width:80px;margin-left:0px;">

<input type="text" name="EndTime" size="20" readonly onFocus="setday(this);" style=" width:80px;margin-left:0px;">
我通过 BeginTime=Trim(Request("BeginTime"))
EndTime=Trim(Request("EndTime"))
获得BeginTime和EndTime,值是能正常获得,这个确定没有问题,
以下是个存储过程传值,存储过程有3个参数,下面代码不知道有没有问题,总报“应用程序在当前操作中使用了错误类型的值。”

Set MyComm = Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection = conn
MyComm.CommandText = P_Name
MyComm.CommandType = 4
MyComm.Prepared = true
Set parm =MyComm.CreateParameter("@companyID",4,1,4,companyID)
MyComm.Parameters.Append parm
Set parm =MyComm.CreateParameter("@BeginTime",4,1,4,BeginTime)
MyComm.Parameters.Append parm
Set parm =MyComm.CreateParameter("@EndTime",4,1,4,EndTime)
MyComm.Parameters.Append parm
Set MyRst = MyComm.Execute
Set MyComm = Nothing
GETDATA=MyRst.getrows()

存储过程里面@BeginTime,@EndTime定义的是nvarchar类型的,datetime类型我也试过不行。
望高手指点。
...全文
44 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2009-08-25
  • 打赏
  • 举报
回复
最好用datetime类型
假设 companyID是数字
nvarchar如下

Set parm =MyComm.CreateParameter("@companyID",3,1,4,companyID)
MyComm.Parameters.Append parm
Set parm =MyComm.CreateParameter("@BeginTime",202,1,Len(BeginTime),BeginTime)
MyComm.Parameters.Append parm
Set parm =MyComm.CreateParameter("@EndTime",202,1,Len(EndTime),EndTime)
MyComm.Parameters.Append parm
Set MyRst = MyComm.Execute

datetime如下
Set parm =MyComm.CreateParameter("@companyID",3,1,4,companyID)
MyComm.Parameters.Append parm
Set parm =MyComm.CreateParameter("@BeginTime",135,1,8,BeginTime)
MyComm.Parameters.Append parm
Set parm =MyComm.CreateParameter("@EndTime",135,1,8,EndTime)
MyComm.Parameters.Append parm

28,406

社区成员

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

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