CDaoTableDef这个类, 有没有可以判断一个表是否打开的方法/,比如try
{
CDaoTableDef     tableDef(&m_database);
tableDef.Open("_his");//打开一个表,如果不存在,跑出异常
}
catch(...)
{
  tableDef.create(...);//只能这样马?
 ...
}CDaoTableDef类有没有代码可以让我可以判断一个表是否已经建立?

解决方案 »

  1.   

    用SQL语句来判断数据表是否存在。SELECT * FROM sysobjects WHERE NAME = 'TableName'
      

  2.   

    一般都这样。如果你不怕烦  DB.Open("DATABASE\\PTDB.MDB");   
      int   tableno=DB.GetTableDefCount();   
      CDaoTableDefInfo   PTable;   
      for(int   i=0;i<tableno;i++)   
      {   
        DB.GetTableDefInfo(i,PTable);   
        m_tablename.AddString(PTable.m_strName);   
      }   
    枚举所有的表
    要么你用SQL看,像1#那样的
      

  3.   

    建议你先查一下MSDN:
    CDaoTableDef::IsOpen
    Call this member function to determine whether the CDaoTableDef object is currently open.
      

  4.   

    当然是个listbox了,这里用来做显示用的嘛
      

  5.   

    m_tablename 是ListBox等控件,这里只是用来显示,你用前面的部分判断就可以了
      

  6.   

    //========================================//
    CDaoTableDef daotable;
    daotable.IsOpen();
    //========================================//