insert into kucun ( name,num)
(select name, sum(num) as num  from ruku where time like '2004-12%'
group by Name)union all(select name, sum(-num) as sum from chuku  where time like '2004-12%'
group by Name)上面的语句在Sql 查询分析器上可以执行,但加入到Delphi中就执行不过,错误为“Insert into语句语法错误” 这是为什么呀??
times:=trim(combobox1.text)+'-'+trim(combobox2.text);
sqlstring:='insert into kucun (name, num )‘ ;
sqlstring:=sqlstring+#13+'(select name, Sum(num) as num from ruku where '+'time like '+#39+times+#37+#39+' group by Name) ';
sqlstring:=sqlstring+#13+' union all '+#13 ;
sqlstring:=sqlstring+'(select name, Sum(-num) as num from chuku where '+'time like '+#39+times+#37+#39+' group by Name)';kctj.CommandText:=sqlstring;
kctj.Execute;其中Kctj为Tadocommand

解决方案 »

  1.   

    times:=trim(combobox1.text)+'-'+trim(combobox2.text);  
    sqlstring:=' insert  into  kucun  (name,  num  )'  ;  
    sqlstring:=sqlstring+#13+'(select  name,  Sum(num)  as  num  from  ruku  where  '+'time  like  '+#39+times+#37+#39+'  group  by  Name)  ';  
    sqlstring:=sqlstring+#13+'  union  all  '+#13  ;  
    sqlstring:=sqlstring+'(select  name,  Sum(-num)  as  num  from  chuku  where  '+'time  like  '+#39+times+#37+#39+'  group  by  Name)';  
     
    kctj.CommandText:=sqlstring;  
    kctj.Execute;
      

  2.   

    sqlstring := 'insert into kucun ( name,num) ' +
     ' (select name, sum(num) as num  from ruku where time like '+QuotedStr(times+ '%' ) + ' group by Name) union all '
    + ' (select name, sum(-num) as sum from chuku  where time like ' + Quotedstr(times+ '%') + 'group by Name) '