commandtext:='select * from DB where xx=''中学'' and by='+TF

解决方案 »

  1.   

    首先by 是保留字,不能当字段名,其次, by=TF 是不能这么写的, 我不知道你的by是什么
    类型的字段,但是,无论如何,TF是局部变量,这么可能让数据库服务器认识呢?可是
    用参数和直接写值
      

  2.   

    将上面一句该为以下的看看:var  TF:Boolean;
    commandtext := 'Select * from DB where xx=''中学'' and by=' + TF;
      

  3.   

    yy为逻辑值,还是通不过:
    commandtext := 'Select * from DB where xx=''中学'' and yy=' + TF; 
    (以上仅为举例,实际没用by保留字)
      

  4.   

    是不是因为TF为Boolean?你看能不能根据TF的值把yy=字符串true 或者False!
      

  5.   

    主要是这个表达式如何写?比如下面这个改为commandtext如何写?
    var xj0:boolean;
    SQL.CLEAR;
    SQL.ADD('SELECT * FROM YHZH');
    SQL.ADD('where (XJ=:P_XJ)');
    PARAMBYNAME('P_XJ').ASBOOLEAN:=XJ0;
    open;