请教高手,我想做一个小程序,实现如下功能:1、遍历当前运行目录,找出所有.db文件(这些文件里的表结构相同,内容不同),2、我想读取每个.db中的一个叫k_tbl的表,统计k_tbl的记录数。(目前我已实现的:可以完成文件搜索,但是第二步怎么做没有好办法。我用adodc)请高手指教!

解决方案 »

  1.   

    楼上的请注意我的描述,不只是一个.db文件,数量是不确定的,所以需要动态加载adodc或是动态改变adodc的属性。
    我的思路是,在找到每一个.db文件时,将adodc的数据来源定义为这个.db,count()取出纪录,到下一个.db文件也是如此处理。
    还有更好的方法吗?
    我取出记录数是要做进一步处理的。
      

  2.   

    用ADO对象。先得到.db文件的总数,然后做个循环,在循环里通过ADO对象逐个打开文件,打开表取得记录数,累加起来。
      

  3.   

    这是我已经写了的,请问ado对象在何处加入,用对象我不熟,请高手写详细一些。Private Sub Form_Load() '由于此程序不可见,所有功能在窗体加载时实现
    App.TaskVisible = False '使程序不在 CTL + ALT + DEL 中出现
    Text1.Text = App.Path '取得当前运行路径
    List1.Clear '清空过渡列表内容
    List2.Clear '清空数据库列表内容
    Dir1.Path = Mid$(Text1.Text, 1, 5) + "\" '
    File1.Path = Dir1.Path  '指定搜索路径
    File1.Pattern = "*.db" '指定过滤条件
    For t& = 0 To File1.ListCount - 1 '将找到的符合条件的文件加入列表
        List2.AddItem Dir1.Path + File1.List(t&) '
    Next
    For t& = 0 To Dir1.ListCount - 1 '遍历文件目录
        List1.AddItem Dir1.List(t&) '
    Next
    If t& = 0 Then GoTo finishedpoint '
    cnt& = 0  '
    startpoint: '
    Dir1.Path = List1.List(cnt&) '
    File1.Path = Dir1.Path '
    For t& = 0 To Dir1.ListCount - 1
        List1.AddItem Dir1.List(t&)
    Next
    For t& = 0 To File1.ListCount - 1
        List2.AddItem Dir1.Path + "\" + File1.List(t&)
    Next
    cnt& = cnt& + 1
    If cnt& < List1.ListCount Then GoTo startpoint
    finishedpoint:
    Label4.Caption = "数据库统计:" + Str$(List2.ListCount) + "个"
    End Sub
      

  4.   

    我的思路是,在找到每一个.db文件时,将adodc的数据来源定义为这个.db,count()取出纪录,到下一个.db文件也是如此处理。
    还有更好的方法吗?难不成还能一次打开所有.DB文件?
      

  5.   

    用Dir函数可以解决查询文件的问题(例子MSDN上有),打开数据库应该不会很难。
      

  6.   

    其实完全可以这样
    1)定义
      Private Type mydb
        fileName As String '存放文件名
        k_tbl As Integer '存放k_tbl的记录数
      End Type dim db1 as mydb2)然后用你哪个循环
    可以查找到每个.db 就打开然后 读 k_tbl 如果有的化
      db1.fileName = '将文件名赋予变量
      db1.k_tbl='将k_tbl的记录数赋予变量  立刻将db1写入二进制文件(如:k_tbl.tmp)(不用关闭二进制文件)
      
      没有就读下一个4)全部读完后;关闭二进制文件;想用的时候在打开刚才写的k_tbl.tmp
      在将数据读回变量 db1
    5)每读一个
      

  7.   

    不好意思,你的这个思路我不是很明白。我这样不行吗:
    1、找到.db文件
    2、定义ado数据源
    3、统计k_tbl的所需数据
    4、进行下一步处理
    5、下一个.db文件