大家好!
我现在在封装一个ADO的类!
我现在的问题是:
    我想初始化就打开一个表
    但是不能保证这个表存在,如果不存在需要创建一个表!
那么如何检测连接的Access数据库当前表是否存在呢?
谢谢!

解决方案 »

  1.   

    OpenSchema查询adSchemaTables看表是否存在,这里有个参考
    偷懒的话直接先select ,try...catch捕获到错误就是表没有创建.
      

  2.   


    pRecordset=OpenSchema(adSchemaTables);
    然后怎么办啊?
    谢谢!
      

  3.   

    遍历记录集pRecordset的字段Table Name,看是否有你要建的表.
      

  4.   

    http://topic.csdn.net/u/20100429/11/a1a68cd2-d942-4f6b-b387-69a130ec5888.html?40458
      

  5.   

    那你干脆try catch 创建表吧
    不用管其他的
      

  6.   

    select count(*) from sysobjects where name ='表名'
      

  7.   

    这个在access用不了,没有sysobjects 表.
      

  8.   

    ADO中,_ConnectionPtr指针的OpenSchema方法可以获取一个数据库的模式信息.查询的结果也是放在一个结果集中(_RecordsetPtr的一个对象). 然后遍历这个结果集对象就可以知道Access库中表的模式信息.具体的可以去查一下微软关于ADO的帮助.或者直接baidu,google搜索一下OpenSchema方法就知道了.
      

  9.   


    就是那个ADO帮助我一直不知道在哪?郁闷!