用ADOQuery控件,执行过程是这样:
if 库exam存在
  语句1
else
  语句2if 表math存在
  语句3
else
  语句4

解决方案 »

  1.   

    库exam存在
    ADOQuery.sql.add('if exists (select * from master..sysdatabases where name =''' + databasename + ''') return 1 else return 0 end');
    ADOQuery.Open;
    if ADOQuery.Fields[0].asinteger = 1 then showmessage('存在')
      

  2.   

    表math存在
    1 用tadoconnection的gettablenames
    2 用sql ,与上面雷同
    select * from sysobjects where xtype ='U' and name = 'xxx'
      

  3.   

    CREATE PROCEDURE is_exists_table 
    @tbl_name varchar(20)  ASIF EXISTS (SELECT name 
       FROM   sysobjects 
       WHERE  name = @tbl_name  AND type = 'U')
    RETURN 1
    ELSE
    RETURN  0
    GO
      

  4.   

    同意   firetoucher(风焱)
      

  5.   

    这条语句出现错误:
    ADOQuery.sql.add('if exists (select * from master..sysdatabases where name =''' + databasename + ''') return 1 else return 0 end');project projcet1.exe raised exception class EOleException with message '在此上下文中不能使用带有返回值的return语句. process stopped.
      

  6.   

    调用存储过程sp_tables 表名
    adoquery1.sql.add(’sp_tables exam’)
    adoquery1.open;
    if adoquery1.recordcount=0 then
    不存在