急!!!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

语法没有错,存储过程还没执行到,怎么会这样呢?
...全文
191 点赞 收藏 15
写回复
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
回复 点赞
发动态
发帖子
ASP
创建于2007-09-28

1.9w+

社区成员

35.7w+

社区内容

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区公告
暂无公告