在Delphi中如何判断数据库中表是否存在?大家帮帮忙啊!急呀!好心的顺便说一下如何建立表的索引!最好是有代码!菜鸟在这里谢谢各位了!

解决方案 »

  1.   

    数据库不同就不一样。
    简单些
    ADOConnection1.GetTableNames
      Database1.Session.GetTableNames;
      

  2.   

    捕获异常不行!我试过了!请你们说的明白一点,我刚学的,我用的MYSQL数据库,我是这样写的:
    try
    singo_sql.sql.clear;
    singo_sql.sql.add('select * from level');
    singo_sql.open;  
    Except
    singo_sql.sql.clear;
    singo_sql.sql.add('create table level(id tinyint(4))');
    singo_sql.ExecSQL;
    end;
    它在执行到singo_sql.open时候报错!
      

  3.   

    query的格式是:
    QUERY.CLOSE;
    QUERY.SQL.CLEAR;
    QUERY.SQL.ADD('');
    QUERY.OPEN(EXECSQL);
    你上面的错了.应该先关闭QUERY.
      

  4.   

    也许你还是要错,
    我曾经遇到过,在创建表的时候,虽然表已经创建好了,可是它还是要出错!你最好是在except中再添加
     try
      singo_sql.sql.clear;
      singo_sql.sql.add('create table level(id tinyint(4))');
      singo_sql.ExecSQL;
     except
     end;
      

  5.   

    你们全部都没有搞懂意思! Richard_din() 所讲的没有道理!我编译的时候没有出错啊!再说了这代码也是我凭空打出来的也不是什么拷贝的!你们有谁知道怎么建立表时候建立索引?100分!
      

  6.   

    create index indexname on talbename(colnumes)
      

  7.   

    呵呵,如果用的是MS SQL的话:
    sp_tables //可以获得当前用户的所有表
    看一看,在返回的结果中有没有你要检测的表就可以了 :)
      

  8.   

    select name from sysobjects where type='u'
      

  9.   

    select name from sysobjects where type='u' and name='table'