在不创建连接对象的前提下,有可能打开记录集吗?有代码!!!

yjyq 2005-05-11 04:02:54
在不创建连接对象的前提下,有可能打开记录集吗?有代码!!!
我知道,可以先建一个连接对象,如 conn,然后 conn.open ,
然后可以用这个连接对象创建记录集rs.
我想问是不是不创建连接对象,而用记录集的activeconnection属性打开连接呢?即将这个属性给定一个连接串。
比如:
Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = strconn2 'strconn2是一个连接串
Recordset1.Source = "SELECT 姓名, 部门, phone_n, phone_o, phone_h, phone FROM dbo.gzda where phone_n is not null or phone_o is not null or phone_h is not null or phone is not null"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()
我发现,记录集也可以创建成功。可是我不明白,是不是系统也自动建了一个连接对象呢?
是不是不用创建连接对象,只要用连接串就可以创建一个记录集呢?
...全文
144 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjbnew 2005-05-15
  • 打赏
  • 举报
回复
我认为没有太大意义
madpolice 2005-05-15
  • 打赏
  • 举报
回复
以下是微软说的,我就原话照搬了。


You can directly creat a recordset without first creating a connection.What’s the advantage to this flatter object model? You have fewer lines of code and less use of memory. I save a bit of memory because I avoid creating a Connection object. Memory use is especially critical if dozens or even hundreds of clients simultaneously use your Web page.

In many cases, however, you need to explicitly create a Connection object because it’s more efficient when you perform multiple recordset or command operations. Having the flexibility is nice, though.
kingcrab 2005-05-14
  • 打赏
  • 举报
回复
搂主你上面的写法只是“共享“连接串,并不是共享连接对象。
yjyq 2005-05-14
  • 打赏
  • 举报
回复
?
连接对象的创建有两种方式显式和隐式,搂主使用的是隐式,通常使用open方法的是显式。
当连接要频繁使用时应当使用显示的,因为它可以被共享
-----------------------
谢谢,我觉得您说出了问题的关键,可是我还是想了解是不是隐式的不能够被共享吗,
我没有环境,不好试,还要请教一下。
yjyq 2005-05-13
  • 打赏
  • 举报
回复
up
kingcrab 2005-05-13
  • 打赏
  • 举报
回复
连接对象的创建有两种方式显式和隐式,搂主使用的是隐式,通常使用open方法的是显式。
当连接要频繁使用时应当使用显示的,因为它可以被共享
yjyq 2005-05-12
  • 打赏
  • 举报
回复
?
设想一下页面中有两个记录集的情况


如果用连接对象,那两个记录集都是用同一个连接对象,
如果用连接字符串,那.....(你自己可以回答了吧)
----------------------------
不好意思?不知是否理解对?
两个记录集用同一个连接串不也可以吗?
请教。
madpolice 2005-05-12
  • 打赏
  • 举报
回复
设想一下页面中有两个记录集的情况


如果用连接对象,那两个记录集都是用同一个连接对象,
如果用连接字符串,那.....(你自己可以回答了吧)

yjyq 2005-05-12
  • 打赏
  • 举报
回复
谢谢楼上,这么说要打开记录集,不一定必须先建连接对象,只要有一个连接串就行了。
可是为什么我看到很多代码都是先建连接对象,再用这个连接对象去打开记录集呢?
不明白,请教。
madpolice 2005-05-11
  • 打赏
  • 举报
回复
ActiveConnection 属性
指示指定的 Command、Recordset 或 Record 对象当前所属的 Connection 对象。

设置和返回值
设置或返回 String 值或 Variant,如果连接被关闭,则 String 值包含连接的定义。如果连接打开,则 Variant 包含当前 Connection 对象。默认值是 Null 对象引用。请参阅 ConnectionString 属性。

说明
*******************************************
Recordset可将此属性设置为有效的 Connection 对象或有效的连接字符串。在这种情况下,提供者将用此定义创建新的 Connection 对象并打开连接。
*******************************************

yjyq 2005-05-11
  • 打赏
  • 举报
回复
不可能的,楼主是在用DW吧,控制面板中数据源已经连接好了
--------------------------------
我没有用dw自建的那个连接。
mingch 2005-05-11
  • 打赏
  • 举报
回复
不可能的,楼主是在用DW吧,控制面板中数据源已经连接好了
wxf0104 2005-05-11
  • 打赏
  • 举报
回复
可以的吧~~
poolnet 2005-05-11
  • 打赏
  • 举报
回复
哈哈。。 MS就是聪明,会自动根据参数打开地

28,406

社区成员

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

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