我检查到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,就此问题请教一下各位,多谢了!
...全文
330 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
内容概要:本文档是一份关于开发经典小游戏“贪吃蛇”的保姆级毕业设计指导文档,涵盖从游戏规则、功能设计、技术选型到核心代码实现的完整流程。文档以Python + Pygame为技术栈,详细讲解了游戏初始化、蛇的移动逻辑、食物生成、碰撞检测、计分与等级系统、键盘控制及主循环渲染等核心模块,并提供了完整的项目结构和源码示例。采用状态机管理游戏状态,使用列表模拟链表结构存储蛇身,结合方向缓冲机制优化操作体验,同时引入难度递增机制提升可玩性。文末还列举了飞机大战、扫雷、五子棋等同类课题作为拓展参考。; 适合人群:具备一定编程基础、正在进行毕业设计或课程设计的学生,尤其是对游戏开发感兴趣的初级开发者。; 使用场景及目标:①帮助学生独立完成一个功能完整、结构清晰的小游戏项目,用于毕业答辩或课程展示;②深入理解事件驱动编程、状态管理、碰撞检测、定时刷新等基础编程概念;③掌握Python + Pygame开发2D小游戏的核心技能,并具备二次开发与功能拓展能力。; 阅读建议:建议读者按照“规则→设计→代码→运行”的顺序逐步学习,动手实践每个模块并调试代码,重点关注方向缓冲、状态机、食物生成算法等设计细节,同时可尝试实现文末提出的拓展功能以增强项目亮点。

28,402

社区成员

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

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