能不能把Recordset数据读出来,重新写到新的Recordset里面去。

firecfq1980 2006-11-30 06:12:50
本人用ADO读取一个CSV文件的数据到Recordset里面去。但是需要把数据转置,把行的变成列,列变成行。
不知道怎么处理
这里有没有高手啊!帮我解决这个问题啊!
...全文
204 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
firecfq1980 2006-12-02
  • 打赏
  • 举报
回复
到底是用数据库读取快呢 还是作为文本文件读取数据快?
我已经把CSV当作文件读了,管不了这么多了。程序已经搞定了。
谢谢各位
clear_zero 2006-12-01
  • 打赏
  • 举报
回复
有个疑问,这个你要写回到文件中么?
如果是的话,为什么用recordset呢?你文件什么样的?
你要是写回的话如下步骤
1.建立数组存储
2.按行读出
3.写入

比如你文件
1,2,3
a, b, c

那么你的数组s(0)="1,2,3"
s(1)="a,b,c"
你写入的时候就知道s数组有多少行了
然后用split每一条
这样你就有小数组 a(0)=1, a(1)=2, a(2)=3
b(0)=a....
然后重新写回到文件中

读写文件你可以翻旧帖,也可以看看filesystem object
我写得比较简要,但是逻辑在那里了。自己组织一下

希望有帮助
firecfq1980 2006-12-01
  • 打赏
  • 举报
回复
好象也只能用这个办法了。
firecfq1980 2006-12-01
  • 打赏
  • 举报
回复
要批量的 经常的 而且要傻瓜式的
我自己已经 编写重写文件了 只能这样了
  • 打赏
  • 举报
回复
Dim RsOld As new ADODB.Recordset
Dim RsNewTmp As ADODB.Recordset

set RsOld=Conn.Execute(strCmdSQL)

Set RsNewTmp = RsOld
云路 2006-12-01
  • 打赏
  • 举报
回复
你在excel中转置一下,然后再读进来不就可以了吗?
firecfq1980 2006-12-01
  • 打赏
  • 举报
回复
这样的!
我把一个设备导出CSV文件读到了recordset里面去了,同时要用DATA类控制显示出来,但是因为CSV文件的列不能超过255,所以他的数据是一列一列排的。所以CSV文件本身就跟不符合一般数据库的格式。
所以我只有两条路可以走,
1、在recordset中读取,再重新写到一个recordset中,可以二次循环搞定,但我不知道recordset怎么读写,基本问题,但我没有参考资料,网上也没有找到,而且还不知道行不行。
2、读取文件,重新写到一个txt文件,并且二次循环搞定,然后读到recordset里面去,但设备导出的CSV文件有长有短的,不怎么好搞。当然也是可以导,但比较麻烦。
吾非大神 2006-11-30
  • 打赏
  • 举报
回复
偶不是高手
不过你的这个问题,我个人认为
可以先读每条记录的第一条,循环读完,然后添加到另一个记录集中
。。。。
估计这是个最笨的法子了,等楼下的好办法
clear_zero 2006-11-30
  • 打赏
  • 举报
回复
我会比较笨的方法,用循环吧

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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