在ADOQuery.SQL中设置如下declare @db1 varchar(10)if exists (select * from table1)
begin
  --该语句通不过
  use @db1 
  .....
  
end
这样是通不过的,有什么其他办法?

解决方案 »

  1.   

    declare @db1 varchar(10)
    declare @jj varchar(100)
    ---???不太明白你的@db1是什么,在那儿输的值啊
    if exists (select * from table1)
    begin
      --该语句通不过
      set @jj='use '+@db1
      exec(@jj)
      .....
      
    end
      

  2.   

    在ADOQuery.SQL中设置如下declare @db1 varchar(10)
    set @db1 = :销售数据库
    if exists (select * from table1)
    begin
      --该语句通不过
      use @db1 
      .....
      
    end楼上兄弟的办法不行的
      

  3.   

    select * from 数据库名.dbo.表名
      

  4.   

    declare @db1 varchar(10)
    declare @jj varchar(100)
    set @db1='销售数据库'
    if exists (select * from table1)
    begin
      --该语句通不过
      set @jj='select * from  '+trim(@db1)
      exec(@jj)
      .....
      
    end
      

  5.   

    你是不是有两个后台数据库啊,在系统运行时要动态切换数据库。其实你完全没有必要那样做。
       方法如下:
         1、在表单中加入两个Tadoconnect(如:conn1,conn2)控件,分别指向两个后台数据库。
         2、用以下方法实现动态切换:
           ADOQuery.actve:=false;
           ADOQuery.connection:=conn1;
           ADOQuery.active:=true;
           ADOQuery.actve:=false;
           ADOQuery.connection:=conn2;
           ADOQuery.active:=true;