求助高手指点2个问题,RecordSet里具体是什么东西,C/S模式具体是什么概念.

3q2008Com 2005-12-27 06:33:15
1 . RecordSet 具体是什么, 他是一个数组吗?
一 比如我有个表 tbl里面有3万条20个字段的数据, 都是 Long 数据类型的 一个 Long 占4 个字节,也 rs被赋值后有 4*20*30000/1024/1024=2.29M大小 , 也就是说我的记录集有 那么大? 是这个概念吗? 只要不释放数据 就一直有大的内存占用, 但我没释放他, 是不是就表示 一直占用数据库的连接, 我给他set rstemp= rs , 是不是 rstemp 也占用了连接
二 他是个类似指针一样的地址. move 时赋值时 都去查一下对应的数据. 里面存储的只是 表的索引,

求教高手 指点

2 什么是CS 模式
服务器是 数据库? 例如 SqlServer 客户端就直接连SqlServer .. 还是 服务器是VB 客户端 调用服务器端的VB 进行操作 服务器./ 但记录集可以发过来吗?

求教, 技术不够工作陷入僵局... 请高手指点一下
谢谢
...全文
249 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
3q2008Com 2006-01-05
  • 打赏
  • 举报
回复
求助, 高手指点 记录集是什么?
比如我本地机器从服务器的SQL上得到一个记录集RS 我把SQL的机器给关掉,,,, RS 里有什么变化, 还可以正常使用吗?
3q2008Com 2006-01-05
  • 打赏
  • 举报
回复
No People Help Me ......................
vbman2003 2005-12-29
  • 打赏
  • 举报
回复
使用记录集持久性,可以将 Recordset 数据和元数据保存为文件。随后,使用持久文件来重新建立 Recordset 对象。持久文件可以保存在本地驱动器、网络服务器上或者作为 URL 保存在 Web 站点上。

另外,GetString 方法将 Recordset 对象转换成表单,在表单中列和行使用指定的字符分界。

详细资料

Microsoft OLE DB Persistence Provider 支持使用 Recordset 对象 Save 方法将 Recordset 对象保存在文件中。随后,使用 Recordset 对象的 Open、或 Connection 对象的 Execute 方法可恢复持久文件。

Recordset 对象被转换为能被保存在文件中的表单。Recordset 对象可以按所拥有的高级数据图表 (ADTG) 格式保存,或者按打开的可扩展标记语言 (XML) 格式保存。

挂起更改保存在持久文件中。因此,可以发布查询返回 Recordset 对象、编辑记录集、保存该记录集和挂起变化、以后恢复该记录集、然后使用保存的挂起变化更新数据源。

用法

保存记录集:

Dim rs as New ADODB.Recordset
rs.Save "c:\yourFile.adtg", adPersistADTG

使用 Recordset.Open 打开持久文件:

dim rs as New ADODB.Recordset
rs.Open "c:\yourFile.adtg", "Provider=MSPersist",,,adCmdFile

可选地,如果 Recordset 没有活动的连接,则都可以接受所有的默认值和简单的代码:

dim rs as New ADODB.Recordset
rs.Open "c:\yourFile.adtg"

使用 Connection.Execute 打开持久文件:

dim conn as New ADODB.Connection
dim rs as New ADODB.Recordset
conn.Open "Provider=MSPersist"
set rs = conn.execute("c:\yourFile.adtg")

使用 RDS.DataControl 打开持久文件:

在这种情况下,没有设置 Server 属性。

Dim dc as New RDS.DataControl
dc.Connection = "Provider=MSPersist"
dc.SQL = "c:\yourFile.adtg"
dc.Refresh

3q2008Com 2005-12-29
  • 打赏
  • 举报
回复
这些东西我都知道, 我是想求教一下, Rs里具体存储的是什么? 是数据数组也就是查询返回的整章表, 还是一个表的索引, 或是其他的什么东西,.如果rs是数据 就可以发给网络的任意一台机器,如果是地址也就是索引 就不可以发.

难道 就没人考虑过这些问题吗?


还有C/S模式 谁都知道 是 客户端 服务端的意思..... 

我是想问一下.
 1 服务器用SQLserver运行, 客户端用VB连服务器的SQL,是C/S模式吗?  

2 服务器运行SQL +VB, 客户端运行VB,连服务器端的VB,服务器端VB操作SQL然后发给客户端工作, 相信QQ一定是这个模式至少传奇是

 我就是想问一下  第一个是C/S模式 还是第二个是,  他们分别叫什么 :(

晕了 不知道, 不要乱答... 一点都不责任....
3q2008Com 2005-12-29
  • 打赏
  • 举报
回复
谢谢家人,
牛人, 我受益非浅啊. 我去查些COM的相关资料,谢谢

服务器的RS发给客户端...

若要发送RS 那怎么发? RS是个什么样的东西我们都不清楚, 怎么发给客户端呢?

vbman2003 2005-12-29
  • 打赏
  • 举报
回复
你一直在问C/S模式,其实我感觉前面的兄弟回答的不错了。看了这个“服务器运行SQL +VB, 客户端运行VB,连服务器端的VB,服务器端VB操作SQL然后发给客户端工作...”, 感觉你是不是在问数据访问的“三层构架”问题?不过你的这种构想有偏差,对“三层构架”我不是很了解,具体涉及到com和com+编程,基本思想如下:

一:界面层
界面层提供给用户一个视觉上的界面,通过界面层,用户输入数据、获取数据。界面层同时也提供一定的安全性,确保用户有会看到机密的信息。
二:逻辑层
逻辑层是界面层和数据层的桥梁,它响应界面层的用户请求,执行任务并从数据层抓取数据,并将必要的数据传送给界面层。
三:数据层
数据层定义、维护数据的完整性、安全性,它响应逻辑层的请求,访问数据。这一层通常由大型的数据库服务器实现,如Oracle 、Sybase、MS SQl Server等。

fishmans(金脚指)说c/s俗称的胖客户模式,那么“三层构架”就是瘦客户模式
vbman2003 2005-12-29
  • 打赏
  • 举报
回复
我想是想把服务器的RS 发给客户端...
========================
ADO本身就是基于本地数据访问的解决方案,使客户端应用程序能够通过 OLE DB 提供者访问和操作在数据库服务器中的数据。不知你为什么要这样做?
coyihisaso 2005-12-29
  • 打赏
  • 举报
回复
rs新概念么?应该叫recordset吧,翻译过来叫记录集,可想而知他是个对象啊!你考虑它存在什么地方干嘛,告诉你封装起来了,它不会让你知道的,为什么封装那你问问微软的程序员。
C/S中间有斜杠的哦,不是反恐精英,是一种构架,就像盖房子是用什么建筑方式,象什么横梁支撑,穹顶支撑你管呢不倒就成啊。
怎么样回答很易懂,该满意了吧^,^
3q2008Com 2005-12-29
  • 打赏
  • 举报
回复
谢谢家人, 你的资料对我很有帮助,非常感谢你, 但rs具体是什么东西 我还是不知道,我如果想把 服务器端的RS 发给客户端, 按你上边的写法 是先存储成文件在发走, 这不是在内存中完成的 动作不会很快吧...

其实 我想是想把服务器的RS 发给客户端, 所以 我想知道里面是什么 :(
3q2008Com 2005-12-28
  • 打赏
  • 举报
回复
那记录集 具体是数组 还是一个指针 或是其他什么东西?
小嘉茗的爸爸 2005-12-28
  • 打赏
  • 举报
回复
C/S和B/S两种模式
vbman2003 2005-12-28
  • 打赏
  • 举报
回复
索引好比是一本书的目录,搜索时可以快速定位磁盘上的数据。
记录集只是返回你查询数据的集合
3q2008Com 2005-12-28
  • 打赏
  • 举报
回复
谢谢 家人
表的索引 是不是表的主键关系...
对了 表里有索引 是可以查询表速度很快的原因 那rs里面是不是存储的 表的索引呢>???

vbman2003 2005-12-28
  • 打赏
  • 举报
回复
ADO 的目标是访问、编辑和更新数据源,而编程模型体现了为完成该目标所必需的系列动作的顺序。ADO 提供类和对象以完成以下活动:

连接到数据源 (Connection),并可选择开始一个事务。
可选择创建对象来表示 SQL 命令 (Command)。
可选择在 SQL 命令中指定列、表和值作为变量参数 (Parameter)。
执行命令 (Command、Connection 或 Recordset)。
如果命令按行返回,则将行存储在缓存中 (Recordset)。
可选择创建缓存视图,以便能对数据进行排序、筛选和定位 (Recordset)。
通过添加、删除或更改行和列编辑数据 (Recordset)。
在适当情况下,使用缓存中的更改内容来更新数据源 (Recordset)。
如果使用了事务,则可以接受或拒绝在完成事务期间所作的更改。结束事务 (Connection)。


楼主所说的set rstemp= rs ,如果这个rs和 Connection无关,那么其和这个连接的数据源无关

这是我的理解
dqhuaying 2005-12-28
  • 打赏
  • 举报
回复
hot1kang1 (许仙)
--------------------
五个角了,recordset具体是什么还没怎么清楚,难怪我啦,路过~~~
3q2008Com 2005-12-28
  • 打赏
  • 举报
回复

to bulletCoderHope(小子) ( ) ...但是觉得想那么深入也没什么用处...

因为设计到 大量记录集是否释放的问题, 释放了 重新建立便会影响速度, 所有才想弄清楚记录集具体是什么来提高程序的性能
---------------------------------------------------------------------

并没有讲到点子上啊 .... 求教...
vbman2003 2005-12-28
  • 打赏
  • 举报
回复
所有 Recordset 对象均使用记录(行)和字段(列)进行构造。
操作Recordset,ADO定义4种游标,相关内容MSDN上应该有吧。
zou19820704 2005-12-28
  • 打赏
  • 举报
回复
recordset是数据记录集
c/s就是client/serve
bihai123 2005-12-27
  • 打赏
  • 举报
回复
不明白,听说过对虚表操作的概念,不知道VB是如何操作的,请讲讲
fishmans 2005-12-27
  • 打赏
  • 举报
回复
讲讲自己的理解:
`1.recordset是数据集
他是一个对象,包括数据和对数据的一些操作如open \move\close等等
它所占的内存空间不是你那么算的
`2。C/S就是server&client,俗称的胖客户模式
这个server可以是数据库服务也可以是别的如FTP服务、文件服务等等
而client就是用户操作端,这种模式基本上是把所有操作放在客户端,而服务端只提供数据。所以客户一般都比较大,所以又称胖客户模式
加载更多回复(1)

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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