我检查到Recordset的RecordCount属性值为-1,但我能从Recordset中取出SQL执行后返回的数来.这是什么原因呢?

gz_xjf 2001-07-13 09:14:01
我测试的语句如下:
Set MyConn3=Server.CreateObject ("ADODB.Connection")
ls_driver = "{Microsoft ODBC for Oracle}"
ls_server = "people"
ls_uid="administrator"
ls_pwd="manager"
MyConn3.ConnectionString = "driver="&ls_driver&";server="&ls_server&";uid="&ls_uid&";pwd="&ls_pwd
MyConn3.Open
SqlString = "select * from p_base"
Set Rs4=Server.CreateObject ("ADODB.Recordset")
'Set Rs4=MyConn3.Execute(SqlString)
Rs4.Open SqlString,MyConn3
Response.Write Rs4("people_name")
Response.Write Rs4.RecordCount
Set Rs4=Nothing

我刚才又测了一下,我把配置的ODBC系统数据源删除后,还能连上数据库,RecordCount 也还是返回-1,就此问题请教一下各位,多谢了!
...全文
311 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
gz_xjf 2001-07-13
  • 打赏
  • 举报
回复
多谢你,你所说的处理方法我导向学习一下,虽然我目前不准备这样处理。
在此感谢各位,结账了!
Tyro 2001-07-13
  • 打赏
  • 举报
回复
我觉得是我们处理问题的方式不同,我从来不在asp中使用数据库连接,对数据库的操作都是在com组件中进行的,如果读取记录的话就用一个方法返回数组或xml,总之表现层没有对数据库的操作
gz_xjf 2001-07-13
  • 打赏
  • 举报
回复
我说的不是这个意思,我的意思是该连接如MyConn 在此Com中将以什么形式存在,如把它封装在
一个方法中,那么在ASP中调用了此方法后,将怎样引用此连接呢?
Tyro 2001-07-13
  • 打赏
  • 举报
回复
用vb编写activex dll就可以了

在asp中用Server.CreateObject
gz_xjf 2001-07-13
  • 打赏
  • 举报
回复
是不是把数据连接封装到一个服务器端的Com中,这种做法我只在Delphi程序中用过,但不知Com
怎么把数据连接封装起来让Asp用,以什么形式封装呢?
Tyro 2001-07-13
  • 打赏
  • 举报
回复
To:gz_xjf(thinker)
你把连接数据库的方法做到Com组件中并不需要在每个asp中copy代码呀,到时调用组件里的方法就可以了
gz_xjf 2001-07-13
  • 打赏
  • 举报
回复
我也隐约觉得这样连接有弊端,可我是在不想在每一个ASP中都Copy这样一段代码啊
Tyro 2001-07-13
  • 打赏
  • 举报
回复
连接数据库的操作应该在com组件里完成,也就是使用三层结构,你这样打开数据库的方式并不好
wybm 2001-07-13
  • 打赏
  • 举报
回复
这中情况是你没用更丰富的游标来打开数据库.如果你要显示的数据是只读的,
那么游标用1就可以.把Rs4.Open SqlString,MyConn3该为:Rs4.Open SqlString,MyConn3,1,1
再试试.
gz_xjf 2001-07-13
  • 打赏
  • 举报
回复
多谢三位,另外请教一下各位:我想把连接数据库的语句封装成一个Sub,如:
Sub ConnectionDB()
Set MyConn3=Server.CreateObject ("ADODB.Connection")
ls_driver = "{Microsoft ODBC for Oracle}"
ls_server = "people"
ls_uid="administrator"
ls_pwd="manager"
MyConn3.ConnectionString "driver="&ls_driver&";server="&ls_server&";uid="&ls_uid&";pwd="&ls_pwd
MyConn3.Open
End Sub

再在需要连接数据库的
ASP中调用此inc文件中的Sub来连接数据库,请问这样是不是会导致在调用ASP中不能彻底关闭连接,因为在过程外调用的MyConn3.Close中的MyConn3和Sub中的MyConn3不是一回事,而是形参
和实参的关系。 请问如果这样做了会有什么后果吗?难道非得在每一个需要连接数据库的ASP中
都要连接一次吗?你们平时是怎样处理的呢?


Tyro 2001-07-13
  • 打赏
  • 举报
回复
rs.open 默认的游标类型为adOpenForwardOnly,不支持recordcount,如果要得到recordcount,需要设置游标类型为adOpenDynamic或adOpenStatic
BrentIvan 2001-07-13
  • 打赏
  • 举报
回复
Rs4.Open SqlString,MyConn3

-->

Rs4.Open SqlString,MyConn3, 3, 3
tripofdream 2001-07-13
  • 打赏
  • 举报
回复
Rs4.Open SqlString,MyConn3,3,2
wangjiong 2001-07-13
  • 打赏
  • 举报
回复
Add:
Rs4.CursorLocation = adUseClient
Before:
Rs4.Open SqlString,MyConn3
内容概要:本文详细介绍了利用Simulink进行变压器开路试验的电路连接配置与仿真实现方法,重点在于通过仿真手段还原实际电力系统变压器在空载条件下的电气特性,从而深入理解其工作原理与性能表现。文章作为电力系统仿真系列研究的一部分,系统阐述了从电路模型搭建、参数设定、仿真运行到结果分析的完整流程,突出展示了MATLAB/Simulink在电力设备建模与教学科研的强大功能与应用价值。; 适合人群:具备电力系统基础知识,熟悉MATLAB/Simulink仿真环境,从事电气工程、自动化及相关领域的研发人员,以及高年级本科生和研究生。; 使用场景及目标:①掌握变压器开路试验的基本原理与Simulink仿真建模的具体步骤;②通过仿真实验深入理解空载电流、铁芯损耗及励磁特性等关键参数的物理意义;③为后续开展变压器短路试验、暂态过程分析以及其他电力设备的仿真研究奠定理论与实践基础。; 阅读建议:建议结合Simulink软件动手实践,逐步构建并调试电路模型,重点关注各元件参数的设置方法与测量模块的应用技巧,同时推荐参考文提及的其他相关仿真案例进行拓展学习,以全面提升对电力系统仿真实践的整体认知与操作能力。

28,403

社区成员

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

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