如何判断库中的一个表是否存在?(mdb数据库)

解决方案 »

  1.   

    首先确定已经连接好数据库with Query do
    try
      SQL.Text := 'select * from Table1';
      Open;
    except
      SHowMessage('Table1 不存在!');
    end;调试时一定出错,不过当你单独运行(脱离Delphi)就行了。Try it... ...还有就是使用SQL语句了,不过不见得什么数据库都适用。
      

  2.   

    if exists (select * from dbo(拥有者).sysobjects where id = object_id(N'[拥有者].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
      print '1'
    else
      print '2'自己生成一个SQL表的脚本不就能看到了吗!
      

  3.   

    可通用SESSION对象中的GetTables获得TABLE对象集,然后判断有没有你的TABLE即可。
      

  4.   

    select * from SysObjects
    where name = YourTableName和SQL SERVER一样处理
      

  5.   

    DELPHI 环境下,只执行TRY内的部分,不成立就报错了,是不执行EXCEPT部分的,如果你用了try....except结构时,就应该不非DELPHI环境下执行了,
      

  6.   

    哦,原来Access和SQL Server一样,也有系统表的呀!长见识:-)
      

  7.   

    to zfmich :
    用 select * from SysObjects
    where name = YourTableName
    系统报 数据库引擎找不到表SysObjects
      

  8.   

    如果使用ADO连接,那么TADOConnection的GetTableNames方法就可以得到系统中有哪些表了,然后你利用IndexOf方法就能判断你指定的标是否存在!!!