表一数据插入表二。解决方法

表一数据插入表二。
QUERY1.SQL.Clear;
QUERY1.SQL.Add('delete from ic_t_inout_store_detail5');
QUERY1.SQL.Add('delete from pos_t_daysum5');
QUERY1.SQL.Add('select bi_t_item_info.item_no as 商品编号,bi_t_item_info.item_name as 商品名称,sum(ic_t_inout_store_detail.in_qty) as 采购数量,bi_t_item_cls.ITEM_CLSNO as 类别编号,bi_t_item_cls.ITEM_CLSNAME AS 商品类别,ic_t_inout_store_detail,bi_t_item_info,bi_t_item_cls');
QUERY1.SQL.Add('where ic_t_inout_store_detail.sheet_no like ''%PI%''and bi_t_item_info.item_no=ic_t_inout_store_detail.item_no and bi_t_item_cls.ITEM_CLSNO=bi_t_item_info.ITEM_CLSNO');
query1.SQL.Add('and ic_t_inout_store_detail.sheet_no in (select ic_t_inout_store_master.sheet_no from ic_t_inout_store_master where ic_t_inout_store_master.pay_date>=datetimepicker1.text and ic_t_inout_store_master.pay_date<=datetimepicker2.text');
query1.SQL.Add('and bi_t_branch_info.branch_no=edit4.text');
QUERY1.SQL.Add('AND bi_t_item_cls.ITEM_CLSNO=EDIT5.TEXT');
QUERY1.SQL.ADD('group by ic_t_inout_store_detail.item_no, bi_t_item_info.item_no,bi_t_item_info.item_name,bi_t_item_cls.ITEM_CLSNO,bi_t_item_cls.ITEM_CLSNAME ');
QUERY1.Open;
  while not query1.eof do
  begin
  query2.Close;
  query2.SQL.Clear;
  QUERY2.SQL.text:='insert into ic_t_inout_store_detail5(商品编号,商品名称,采购数量,类别编号,商品类别)';
  query2.Open;
  query2.Parameters.paramvaluses['商品编号']:=query1.fieldbyname('商品编号').astnteger;
  ADOQuery2.ExecSQL;
  end

求助以上语句怎么写才正确


------解决方案--------------------
QUERY2.SQL.text:= "insert into ic_t_inout_store_detail5(商品编号,商品名称,采购数量,类别编号,商品类别) "; 
query2.Open; 
query2.Parameters.paramvaluses[ " "]:=query1.fieldbyname( "商品编号 ").astnteger; 
ADOQuery2.ExecSQL; 
1.insert 语句语法不对
2.insert语句中没有“商品编号”这个参数,无需赋值
3、insert语句要用execsql,open应去掉
------解决方案--------------------
你把哪个
query1.open; 
query2.Close; 
query2.SQL.Clear; 
END; ----放到结尾部分