300 分解决ASP存储调用存储过程返回记录集奇怪问题---之第三个100分

BluesLoveGoal 2003-08-13 12:29:55


ASP 调用如下
████████████████████████


'-------------------------------------------------调用存储过程Start
Dim fldSchoolNumber,queryType

fldSchoolNumber=Trim(Request("fldSchoolNumber"))

queryType="1"
'Response.Write(fldSchoolNumber&"<br>")
'Response.Write(dateBegin&"<br>")
'Response.Write(dateEnd&"<br>")

Dim Dataconn,provStr,cmdTemp,Rs

Set Dataconn = Server.CreateObject("ADODB.Connection") '建立连接对象
Dataconn.Provider = "SQLOLEDB"
provStr="driver={SQL Server};server=CCDBServer;uid=sa;pwd=;database=YHSchool;Regional=Yes"
'provStr="driver={SQL Server};server=CCDBServer;uid=sa;pwd=;database=YHSchool;Regional=Yes"
'provStr=Session("ConnString")
Dataconn.Open provStr '建立连接
Set cmdTemp = Server.CreateObject("ADODB.Command") '建立命令对象
Set Rs= Server.CreateObject("ADODB.Recordset") '建立记录集对象
cmdTemp.CommandText = "stdTelephone" '设置存储过程名
cmdTemp.CommandType = 4 '设置命令类型
rs.CursorLocation = 3
rs.LockType = 3
rs.CursorType = 3
Dataconn.CursorLocation = 3

Set cmdTemp.ActiveConnection = DataConn '设置活动边接

'说明CreateParameter(参数名,类型,输入输出方向,长度,变量值)
cmdTemp.Parameters.Append cmdTemp.CreateParameter("@queryType",200,1,1,queryType) : Response.Write(queryType&"--@queryType<br>")
cmdTemp.Parameters.Append cmdTemp.CreateParameter("@fldSchoolNumber",200,1,6,fldSchoolNumber) : Response.Write(fldSchoolNumber&"--@fldSchoolNumber<br>")
cmdTemp.Parameters.Append cmdTemp.CreateParameter("@dateBegin",133,1,,dateBegin) : Response.Write(dateBegin&"--@dateBegin<br>")
cmdTemp.Parameters.Append cmdTemp.CreateParameter("@dateEnd",133,1,,dateEnd) : Response.Write(dateEnd&"--@dateEnd<br>")
Set Rs=cmdTemp.execute() '执行


██████████
If not (Rs.bof and Rs.eof) then '█████行123 ,查询其他选项时报错████
....
End if

Set cmdTemp=nothing
Dataconn.Close
Set Dataconn=nothing
...全文
39 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiejifeng 2003-08-13
  • 打赏
  • 举报
回复
还没解决吗??
你先试试在 查询分析器中 传入变量,看看结果集是否正确
BluesLoveGoal 2003-08-13
  • 打赏
  • 举报
回复
这是cqfeng兄在 消息里 给我的办法。可以了。谢谢各位捧场。cqfeng 得满分300

Connect.CursorLocation=3
SQLString="stdTelephone '"&queryType&"','"&fldSchoolNumber&"','"&dateBegin&"','"&dateEnd&"'"
Set Rs=Connect.execute(SQLString)
BluesLoveGoal 2003-08-13
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2141/2141142.xml?temp=.4988367
BluesLoveGoal 2003-08-13
  • 打赏
  • 举报
回复
请看
cqfeng 2003-08-13
  • 打赏
  • 举报
回复
1.先在数据库里面直接执行存储过程看会不会报错,确保该过程是正确的
2.可在页面中执行sql="过程名 参数"的形式来执行
3."查询其他选项时报错"是什么错误,代码和错误写详细点
cqfeng 2003-08-13
  • 打赏
  • 举报
回复
1.先在数据库里面直接执行存储过程看会不会报错,确保该过程是正确的
2.可在页面中执行sql="过程名 参数"的形式来执行
3."查询其他选项时报错"是什么错误,代码和错误写详细点
cqfeng 2003-08-13
  • 打赏
  • 举报
回复
1.先在数据库里面直接执行存储过程看会不会报错,确保该过程是正确的
2.可在页面中执行sql="过程名 参数"的形式来执行
3."查询其他选项时报错"是什么错误,代码和错误写详细点
BluesLoveGoal 2003-08-13
  • 打赏
  • 举报
回复
不是
先创建记录集
然后执行吗?
jsidiot 2003-08-13
  • 打赏
  • 举报
回复
Set Rs=cmdTemp.execute()

Set Rs= Server.CreateObject("ADODB.Recordset") '建立记录集对象
cmdTemp.CommandText = "stdTelephone" '设置存储过程名
cmdTemp.CommandType = 4 '设置命令类型
rs.CursorLocation = 3
rs.LockType = 3
rs.CursorType = 3

怎么出现两个rs??

28,390

社区成员

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

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