在DELPHI中常常要用到ADOQUERY中的SQL语句增加信息后执行,当要求增加条件(如参数时)中间的间隔很重要,搞不好就要出错:下举例说明我要表达的意思:
如:一个表:student 有 ksh,xm,xb,lqzy,lqcc几个字段,都为字符型。现要求按xb分组统计人数,同时lqcc要求限定条件。
一般情况下的SQL语句应该为: select xb,count(*) from student where lqcc='限定条件';
当xb这项是动态可选变的情况下(可以为lqzy等)
在DELPHI中语句增加如下:
ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select'+#10+combobox1.text+',count(*) from student where lqcc='+#39+combobox2.text+#39+'group by'+#10+combobox3.text);
ADOQuery1.active:=true;
说明:#10 表是ACSII编码的空格,#39表是’单引号,要求成双出现,而#10不用。