我用的是ADO,不想用DAO,有方法么?

解决方案 »

  1.   

    ado 好像不行吧,要用dao,vb 帶有一個資料庫管理員的例子可以看一下
      

  2.   

    还有一个问题就是(注我用的是ADO):Do while not records.eof
    combo1.additem records![Full Name]
    records.movenext
    loop 结果是每个循环中数据库都要进行一次数据结束测试。在大量的记录的情况下, 浪费的时间相当大。 而使用以下的代码, 可以提高近 1/3 的速度:records.movelast
    intRecCount=records.RecordCount
    records.movefirstfor intCounter=1 to intRecCount
    combo1.additem records![Full Name]
    records.movenext
    next intCounter这段代码的intRecCount=records.RecordCount总为-1呀,是怎么回事呢
      

  3.   

    要定议成本地游标才行.records.CursorLocation = adUseClient
    records.open"......."
    msgbox records.RecordCount
      

  4.   

    谢谢tztz520(午夜逛街) 马上结帐
      

  5.   

    对了!!我还有一个问题
    我不想用select 查找,
    我想查找单条记录,我能不能用:
    rs.Find
    rs.Seek 
    但我不知道怎么用呀,我的意思是我先读出一个数据库中的一条记录,然后我再判断另一个数据库中是否有相同的记录,有什么好方法?
      

  6.   

    dim i as long
    i=0
    do until adodc1.recordset.eof
        '开始寻找
         if not isnull(adodc1.recordset.fields(i).value) then
            if cstr(adodc1.recordset.fields(i).value)=text2.text then
                   exit do
            end if
         end if
         adodc1.recordset.movenext
         i=i+1
         doevents
    loop
      

  7.   

    rs.open "table1" ,....      以表为记录源 recordcount为-1
    rs.open "select ..."        以查询语句为记录源 recordcount为记录数
                       
    这是recordcount的不稳定性
    还有一种方法可以取得recordcount就是从first循环到last,中间放个记数器,笨方法,在记录数少的情况下,很管用
      

  8.   

    HOHO,ADO也不是,DAO也不是,是JRO喽
    Dim Engine As Variant
        Set Engine = CreateObject("JRO.JetEngine")
        Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\SkyGzArt1.mdb", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\SkyGzArt2.mdb;Jet OLEDB:Database Password=123456"
        Set Engine = Nothing