QUERY1.Close;
QUERY1.SQL.Clear;
QUERY1.SQL.Add('SELECT * FROM :danwei);
QUERY1.ParamByName('danwei').asstring:='aaa';
QUERY1.Prepare;
QUERY1.Open;

解决方案 »

  1.   

    错!
    关键是:select * from :danwei中的:danwei不能这么定义,请大家继续回答.
    第一个正确者得全分.
      

  2.   

    var str :string;
    begin
    QUERY1.Close;
    QUERY1.SQL.Clear;
    str:='表'
    QUERY1.SQL.Add('SELECT * FROM ' + str);
    QUERY1.Prepare;
    QUERY1.Open;
      

  3.   

    var str :string;
    begin
    QUERY1.Close;
    QUERY1.SQL.Clear;
    str:='表';
    QUERY1.SQL.Add('SELECT * FROM ' + str);
    QUERY1.Prepare;
    QUERY1.Open;
      

  4.   

    不能这样写,建议你用拼装语句
    var
      danwei:string;danwei='aaa';QUERY1.Close;
    QUERY1.SQL.Clear;
    QUERY1.SQL.Add('SELECT * FROM '+danwei);
    QUERY1.Prepare;
    QUERY1.Open;
      

  5.   

    这样试试
    QUERY1.Close;
    QUERY1.SQL.Clear;
    QUERY1.SQL.Add('DECLARE @danwei varchar(99)         ');
    QUERY1.SQL.Add('SELECT @danwei = :danwei            ');
    QUERY1.SQL.Add('EXECUTE(''SELECT * FROM''+ @danwei) ');
    QUERY1.ParamByName('danwei').asstring:='aaa';
    QUERY1.Prepare;
    QUERY1.Open;
      

  6.   

    var
      danwei:string;
      sSqlText:string; 
    danwei='bbb';
    sSQLText :='SELECT * FROM '+danwei;
    QUERY1.Close;
    QUERY1.SQL.Clear;
    QUERY1.SQL.Add(sSQLText);
    QUERY1.Prepare;
    QUERY1.Open;
      

  7.   

    QUERY1.Close;
    QUERY1.SQL.Clear;
    QUERY1.SQL.Add('DECLARE @danwei varchar(99)           ');
    QUERY1.SQL.Add('SELECT @danwei = :danwei              ');
    QUERY1.SQL.Add('EXECUTE(''SELECT * FROM  ''+ @danwei) ');
    QUERY1.ParamByName('danwei').asstring:='aaa';
    QUERY1.Prepare;
    QUERY1.Open;//FROM后面要注意有空格
      

  8.   

    QUERY1.Close;
    QUERY1.SQL.Clear;
    QUERY1.SQL.Add('SELECT * FROM table where '参数'=:'参数');
    query1.ParamByName('参数'').asstring:=edit1.text;//or other
    QUERY1.Prepare;
    QUERY1.Open;