源程序如下
      query1.Close;
      query1.sql.Clear;
      query1.sql.Add('select a.客户名称,b.产品型号,b.数量,b.单价,b.金额 from 合同档案 a,合同内容档案 b ');
      query1.sql.Add('where a.统计编号=b.合同编号 ');
      query1.Prepare;
      query1.Params[0].AsString:=trim(DBLUCombo1.Text);
      query1.Params[1].AsDate:=DateTimePicker1.Date;
      query1.Params[2].AsDate:=DateTimePicker2.Date;
      query1.Open;a库 和 b库是一对多的关系
系统报错  ElistError with message 'list index out of bounds(0)'请问为何谢谢!!!!!

解决方案 »

  1.   

    你的SQL语句在那里有参数啊??我怎么找不到啊!
    query1.Params[0].AsString:=trim(DBLUCombo1.Text);
          query1.Params[1].AsDate:=DateTimePicker1.Date;
          query1.Params[2].AsDate:=DateTimePicker2.Date;
    的参数在SQL里那里体现了?
    select * from table where id=:id
    query1.Params.paramsbyname('id').value:=trim(DBLUCombo1.Text);
    老大这样好不好?
    'list index out of bounds(0)‘列表暴了!
      

  2.   


    select a.客户名称,b.产品型号,b.数量,b.单价,b.金额 from 合同档案 as a,合同内容档案 as b where a.统计编号=b.合同编号 and b.id =:idquery1.Params.paramsbyname('id').value:=trim(DBLUCombo1.Text);