判断一个acess数据库是否已经存在某张表?能否给出个例子?

解决方案 »

  1.   

    你用ADOCONNECTION连接到ACESS数据库 然后定义一个TSTRINGLIST  AA 变量
    利用ADOCONNECTION.GETTABLENAME(AA)
    利用FOR I:=0 TO AA.COUNT-1 DO
    来判断表名称是否在 AA.STRING[I]中就可以了 因为这个数据库的表的所有名称就存在了aa当中
    这样你就可以判断是否存在了
      

  2.   

    谢谢,能不能再给出其他一些操作acess数据库的方法,比如说删除一个表格。
      

  3.   

    angle097113的方法在实际的Delphi程序中出现异常,我曾经试过了。提示为”存取暴力“,不知还有没有其它方法?
      

  4.   

    to:   angle097113(深思不解) 
        同意
      

  5.   

    前面有人已经给出了ADO方式下获取所有表的途径。
    Session.GetTableNames就可以列出所有的表,对于任何可以以BDE方式连接的数据库都适用。
    在Oracle中,可以用语句
    SELECT COUNT(*) FROM TAB WHERE TNAME = 'SOMETABLENAME'
    来查询,不知道ACESS数据库中是否有类似的东西。
      

  6.   

    多谢各位,正如wellshddelphi(wellshd)所说,angle097113的方法不行,是否有其他方法?
      

  7.   

    同意 cnsuyong(小可)的方法,应该可以实现,我曾经用过
      

  8.   

    能不能给个详细点的例子,上面说的方法我去试了不行。比如说有一个access数据库test.mdb,里面有几张表,现在判断表testtable是否在该数据库里.