我想用以下SQL语句,将表clsoder中,凡是其中course,course_id,textbook,edittion,author,publisher六个字段相同的记录汇总成一条,并添加至另一表(texlist)中,(六个字段相同的记录不相同的也一起添加至).
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  F_DM2.ClientDataSet1.Close;
  F_DM2.ClientDataSet1.CommandText:= select id,class_id,class_master,class_name,course,course_id,textbook,edittion,
                                     author,publisher,sum(txtnum) as txtno ,sum(exercisenum) as texno,sum(revi_filenum) as trevno into texlist
                                     from clsoder group by id,class_id,class_master,class_name,course,course_id,textbook,edittion,
                                     author,publisher;
  F_DM2.ClientDataSet1.Excute;
  F_DM2.ClientDataSet1.Open;
    F_DM2.ClientDataSet1.Refresh;
end;
end.
  以上出错:undeclared identitfier:'select'。难道select语句也要声明?
  请高手帮修改一下。非常感谢!

解决方案 »

  1.   

    你的sql语句不用“引”起来?
      

  2.   

    就是啊,CommandText应该是STRING类型的吧。所以,你需要用单引号把数据库查询语句括起来。
    例如:
     F_DM2.ClientDataSet1.CommandText:= 'Select * from [TABLE_NAME]';
      

  3.   

    CommandText 语句太长,如何分行?
      

  4.   

    分行要+
    'select ....'
    + ' form '
    + ' .... '
    +' where '
    +' ...... ';
      

  5.   

    各位朋友,我的问题仍未解决,求助:
     F_DM2.ClientDataSet1.Close;
      F_DM2.ClientDataSet1.CommandText:= 'select id,class_id,class_master,class_name,course,course_id,textbook,edittion,author,publisher,sum(txtnum) as txtno ,sum(exercisenum) as texno,sum(revi_filenum) as trevno into texlist'
                                         +'from clsoder group by course,course_id,textbook,edition,author,publisher';
        F_DM2.ClientDataSet1.Execute;
      F_DM2.ClientDataSet1.Open;
      F_DM2.ClientDataSet1.Refresh;
    出错提示:第一行'clsoder'附近有语法错误,请帮检查一下错误何在?谢谢!
      

  6.   

    F_DM2.ClientDataSet1.Close;
      F_DM2.ClientDataSet1.CommandText:= 'select id,class_id,class_master,class_name,course,course_id,textbook,edittion,author,publisher,sum(txtnum) as txtno ,sum(exercisenum) as texno,sum(revi_filenum) as trevno into texlist'
    //----> from 左边留空格,或者 texlist 右边留空格
                      +'from clsoder group by course,course_id,textbook,edition,author,publisher';
      

  7.   

    我的CommandText语句是楼上这兄弟说的呀,分两行'select id,class_id,class_master,class_name,course,course_id,textbook,edittion,author,publisher,sum(txtnum) as txtno ,sum(exercisenum) as texno,sum(revi_filenum) as trevno into texlist'一行。
     +'from clsoder group by course,course_id,textbook,edition,author,publisher';在另一行上。
    还是出错提示:第一行'clsoder'附近有语法错误。怎么办?请各位帮助。
      

  8.   

    在from前面加了空格,结果还是还是出错提示:第一行'clsoder'附近有语法错误。请替我审核一下我的语句是否有错(分成两句):
    F_DM2.ClientDataSet1.CommandText:='select id,class_id,class_master,class_name,course,course_id,textbook,edittion,author,publisher,sum(txtnum) as txtno ,sum(exercisenum) as texno,sum(revi_filenum) as trevno into texlist' +  'from clsoder group by course,course_id,textbook,edition,author,publisher';
      快急疯了!
      

  9.   

    .........
    as trevno into texlist' +  'from clsoder group by 
    .........
    改为
    ..................
    as trevno into texlist ' +  'from clsoder group by 
    ..................
      

  10.   

    再不行用断点跟踪sql语句有无错误