用DAO数据库编程,我想判断一个表是否存在,不知道如何进行,望大侠指点!

解决方案 »

  1.   

    用CDaoDatabase类的函数
    void GetTableDefInfo( int nIndex, CDaoTableDefInfo& tabledefinfo, DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO )
      

  2.   

    用CDaoTableDef对象可以判断,代码如下:// db是你程序中打开的CDaoDatabase对象
    CDaoTableDef td( &db );
    try
    {
    td.Open( "login1" );
             //如果存在该表,则会显示下面的对话框
             AfxMessageBox("have this table");
    }
    catch( CDaoException* e )
    {
    //如果不存在该表,则会显示下面的对话框
    AfxMessageBox("no this table");
    e->Delete( );
    }
    td.Close( );
      

  3.   

    //************************************************************
    CDaoTableDef td( &db );
    try
    {
    td.Open( "login1" );
             //如果存在该表,则会显示下面的对话框
             AfxMessageBox("have this table");
    }
    catch( CDaoException* e )
    {
    //如果不存在该表,则会显示下面的对话框
    AfxMessageBox("no this table");
    e->Delete( );
    }
    td.Close( );
    //***************************************************
    如果我不是要抓住例外,而是没有的话就创建一个,应该怎么处理?
      

  4.   

    那你就直接把AfxMessageBox("no this table");这句代码换成建表的代码就可以了。