程序中:
unit1.Form1.xslsQuery.Active:=false;
unit1.Form1.xslsQuery.SQL.Clear;
unit1.Form1.xslsQuery.SQL.Add('select sum(f_cjmy),sum(f_sl) from xsls');
unit1.Form1.xslsQuery.Active:=true;运行后,提示:XSLS表的第一个字段没有找到
   (Project Project1.exe raised exception class EDatabaseError with message ‘xslsQuery:Field ’F_XSRQ' not found.Process stopped. Use Step or Run to continue)
但是同样的上面一段程序我在一个单独的新的窗体中试验是可以的啊

解决方案 »

  1.   

    加个别名试试
    如果xsls表,存在f_cjmy,f_sl这两列,而且为数字类型,应该没有问题:unit1.Form1.xslsQuery.SQL.Add('select sum(f_cjmy) as 'kk',sum(f_sl) as  'kkkk' from xsls'); 
      

  2.   

    xsls表中确实存在这两个字段,而且F_SL是int型,F_CJMY是float型
      

  3.   

    你查查你的工程里面,那里用到了'F_XSRQ' 这个字段的肯定是你前面没有查询它,后面就用到了!!!
      

  4.   

    刚才我试着把SQL语句改成(select * from xsls)     执行后没有错误提示
    然后把SQL语句改成(select f_xsrq,f_sl,f_cjj,f_cjmy from xsls)     执行后又提示这里没有出现的一个字段又没有               
      

  5.   

    解决了,我在form1中双击了query,并且添加了所有的字段,这个有什么影响啊?
      

  6.   

    没有影响,一个是设计时设置,一个是运行时设置,看个人喜好
    使用的字段,要和查询出来的相对应,你可以查询出来而没有用它;
    但却不能倒过来,没有查询就用到它比如:
    ...
    unit1.Form1.xslsQuery.SQL.Add('select sum(f_cjmy) kk,sum(f_sl) kkk from xsls'); //这是正确的
    ...
    edit1.text:=unit1.Form1.xslsQuery.FieldByName('f_xsrq').AsString; //这是错误的,因为数据集中没有'f_xsrq'这个字段