急!!!ASP页面调用存储过程的问题!在线等!

tdaly 2005-03-24 04:57:24
我在ASP页面里写了如下代码:

Response.Expires = -1
Response.AddHeader "Pragma", "No-cache"
Response.AddHeader "Cache-Contorol","No-Cache"
Response.Buffer = True

set Emp_rs = Server.CreateObject("ADODB.Recordset")
set objCmd= Server.CreateObject("ADODB.Command")
set objCnn = Server.CreateObject("ADODB.Connection")

call Get_rs()

sub Get_rs()
dim strCnn
strCnn="Provider=MSDASQL.1;Password=otec;User ID=anken_use_v2;Extended Properties=""DSN=otec_it;UID=anken_use_v2;PWD=otec;SERVER=OTEC_172.17.85.160;"""
objCnn.open strCnn
objCmd.ActiveConnection=objCnn
objCmd.CommandType=adCmdStoredProc <------执行到这句,系统报错:引数错的形式,容许范围外,或竞争着
objCmd.CommandText="sp_getEmpList"
Set Emp_rs=objCmd.Execute()

objCmd.ActiveConnection=Nothing
set objCmd=Nothing
end sub

语法没有错,存储过程还没执行到,怎么会这样呢?
...全文
225 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chang1216 2005-04-05
  • 打赏
  • 举报
回复
着帖子是在 到分吧 来接分的 拿到了 74分? 没有天理了
qbhuang 2005-04-01
  • 打赏
  • 举报
回复
我来接分的,哈哈
尚和空四 2005-03-31
  • 打赏
  • 举报
回复
set rsUser = conn.execute("SP_vecoUser '" & userName & "','" & userPass & "'")
tdaly 2005-03-31
  • 打赏
  • 举报
回复
终于解决问题了!
是ODBC驱动的问题,谢谢各位的帮忙,散分!!!
原来我用的ODBC驱动为:OraOLEDB.Oracle和MSDASQL.1

但是只有MSDAORA.1是支持Oracle返回值是游标类型.所以,换了驱动就可以了!
underone 2005-03-29
  • 打赏
  • 举报
回复
objCmd.CommandType=adCmdStoredProc
把这句去掉
tdaly 2005-03-29
  • 打赏
  • 举报
回复
不行啊,请详细看看下面这个贴吧:
http://community.csdn.net/Expert/topic/3888/3888803.xml?temp=.8553583
everywhen 2005-03-29
  • 打赏
  • 举报
回复
加上

set rs=server.CreateObject("adodb.recordset")
rs.CursorLocation=3
sql="sp_getEmpList "&你的参数
rs.open sql,objCnn


去掉你的
objCmd.CommandType=4
objCmd.CommandText="sp_getEmpList"
objCmd.Parameters.append objCmd.CreateParameter("p_empno",200,1,6,"077%")
Set Emp_rs=objCmd.Execute()
试试
tdaly 2005-03-29
  • 打赏
  • 举报
回复
请看这个贴
http://community.csdn.net/Expert/topic/3888/3888803.xml?temp=.8553583
tdaly 2005-03-28
  • 打赏
  • 举报
回复
不行啊,我换了SQL语句(不执行存储过程),执行没有错误,但是,查询出来的记录集的RecordCount的值为-1
是我引用什么错了吗?RecordCount怎么会是-1呢?用即时窗口查看Emp_rs.Fields(0).value都是有正确值显示的啊.
快晕死了
chang1216 2005-03-28
  • 打赏
  • 举报
回复
直接执行存储过程不行吗?
set rs2=server.CreateObject("adodb.recordset")
sql="sp_getEmpList "&你的参数
rs2.open sql,conn,3,1
tdaly 2005-03-28
  • 打赏
  • 举报
回复
不行啊,还是一样的错误啊。
baikaishui_0825 2005-03-28
  • 打赏
  • 举报
回复
try

objCmd.Parameters.append objCmd.CreateParameter("@p_empno",200,1,6,"077%")
tdaly 2005-03-28
  • 打赏
  • 举报
回复
adovbs.inc直接写在ASP头部吗?是这样写吗?
<!--'#include file="adovbs.inc" -->

我在ASP里写如下代码:
strCnn="Provider=MSDASQL.1;Password=otec;User ID=anken_use_v2;Extended Properties=""DSN=otec_it;UID=anken_use_v2;PWD=otec;SERVER=OTEC_172.17.85.160;"""
objCnn.open strCnn
objCmd.ActiveConnection=objCnn
objCmd.CommandType=4
objCmd.CommandText="sp_getEmpList"
objCmd.Parameters.append objCmd.CreateParameter("p_empno",200,1,6,"077%")
Set Emp_rs=objCmd.Execute()
'系统在执行的时候报错:
An exception of type 'Microsoft OLE DB Provider for ODBC Drivers: ODBC 驱动程序没支持被要求的属性。
' was not handled.

怎么办?
Aimar168 2005-03-24
  • 打赏
  • 举报
回复
或把adovbs.inc包含进来,那上面的不用改
Aimar168 2005-03-24
  • 打赏
  • 举报
回复
objCmd.CommandType=4

28,391

社区成员

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

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