asp调用sql server存储过程(含参数)的源码?

hanxiang 2000-09-21 08:41:00
我照书上的方法试了多次,都不认参数,不知为什么.无论用数组的形势还是直接传参数都不行.请教各位大虾,望将成功的源码段子提供给我.谢谢!!!
...全文
184 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lynxliu 2000-09-27
  • 打赏
  • 举报
回复
HaoGe说得没错,adobvs.inc包括有关ado的常量定义,如果不包含,也是可以的,你调用就要直接用常量的数值
蝈蝈俊 2000-09-25
  • 打赏
  • 举报
回复
Set P1=Comm.CreateParamter("In",adVarChar,adParamInput,2)

定义的参数长度是2,你是不是在适用时长度超过了???

xtra 2000-09-25
  • 打赏
  • 举报
回复
你的存储过程里面的参数定义对不对???
hanxiang 2000-09-25
  • 打赏
  • 举报
回复
xtra:你好!谢谢你的源码,可是仍有问题:我往存储过程里加的参数是adVarChar,和adNumeric形的。但按你的源马里的格式不对。他总说是一个不适合的参数定义。请问这两种形式的格的形式应是怎样的? Set P1=Comm.CreateParamter("In",adInteger,adParamInput,2,6)
Comm.Parameters.Append P1是对的
可是Set P1=Comm.CreateParamter("In",adVarChar,adParamInput,2)
Comm.Parameters.Append P1就不对了
请教各位高手指点!!!我一定给分!!!



HaoGe 2000-09-25
  • 打赏
  • 举报
回复
一.是检查你有没有把adobvs.inc文件包括进去了
二.numeric变量在传送的时候会有时行有时不行,所以你不如把它设成char型的,我用到现在都没有出过错误.
蝈蝈俊 2000-09-25
  • 打赏
  • 举报
回复
Const adVarChar=200

有没有设置???

这是常量,必须设置,要不就是
Set P1=Comm.CreateParamter("In",200,adParamInput,2,'')
给一个初始值

hanxiang 2000-09-25
  • 打赏
  • 举报
回复
我的存储过程是对的呀,通过测试了。而且Set P1=Comm.CreateParamter("In",adVarChar,adParamInput,2)中,无论长度定义为几(2,4,。。。。)都不对,都一样的。我怀疑是这种格式不对,请问你们都真正是过没有呀?不行呀。

xtra 2000-09-21
  • 打赏
  • 举报
回复
<% @ SCRIPT LANGUAGE=VBSCRIPT %>
<%
'Declare constant
Const adCmdStoredProc=4
Const adInteger=3

Const adParamInput=1

'Establish Command Object
Set Comm=Server.CreateObject("ADODB.Command")

'Set connection information
Comm.ActiveConnection="DSN=NorthWind;Uid=sa;Pwd="

'Sign stored procedure name
Comm.CommandText="GetEmployee3"
Comm.CommandType=adCmdStoredProc

'Establish parameter object
Set P1=Comm.CreateParamter("In",adInteger,adParamInput,2,6)
Comm.Parameters.Append P1

'Run storedProcedure
Set rs=Comm.Execute

While Not rs Is Nothing
Response.Write "<Table Border=2>"
Response.Write "<Tr>"
For I=0 To rs.Fields.Count-1
Response.Write "<Td>" & UCase(rs(I).Name) & "</Td>"
Next
Response.Write "</Tr>"

'Show fields value
While Not rs.EOF
Response.Write "<Tr>"
For I=0 To rs.Fields.Count-1
Response.Write "<Td>" & rs(I).Value & "</Td>"
Next
rs.MoveNext
Response.Write "</Tr>"
Wend
Response.Write "</Table><Br>"

'Move cursor to the next recordset
Set rs=rs.NextRecordset()
Wend

'Release resource
Set rs=Nothing
Set Comm=Nothing
%>
测试过,没问题。林金霖的ASP实务经典里的例子

28,391

社区成员

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

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