1.我的查询语句
procedure TCXYYDfrm.BtchaxunClick(Sender: TObject);
begin
    with  DMrestaurant.Adoq do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from 消费明细表 ');
      SQL.Add('where 消费单号=:danhao ');
      Parameters.ParamByName('danhao').Value := trim(comboboxdanhao.Text);
      open;
    end;
end;运行没有问题。就是点了没反应。。2.比如说我查询一个编号为1的所有数据,将这些数据的数量字段全部加起来。将这个总量结果自动放到某个edit组件中..请问这个怎样实现?
3.新增数据要将整个程序重启才能看到。。请问怎么解决?实在不能自动刷新加个按钮的话语句怎么实现?
先谢了~~拜托各位大大。。

解决方案 »

  1.   

    1.你的数据已经到了数据集中,不知道你是怎么显示这块数据的呢2.
        with  DMrestaurant.Adoq do
        begin
          Close;
          SQL.Clear;
          SQL.Add('select sum(fieldname) as ASum from tablename where bianhao=1 ');
          open;
          eidt.text:=FieldByName('ASum').AsString;
        end;  
     3.数据集刷新下,不行数据集重新获取数据
      

  2.   

    1.你的数据已经到了数据集中,不知道你是怎么显示这块数据的呢 
    我是打算用DBgril来显示的。。可是显示不出。。2. 
        with  DMrestaurant.Adoq do 
        begin 
          Close; 
          SQL.Clear; 
          SQL.Add('select sum(fieldname) as ASum from tablename where bianhao=1 '); 
          open; 
          eidt.text:=FieldByName('ASum').AsString; 
        end;  
    这个其中fieldname是字段名吧。。?tablename是表名字吧?然后编号是取自一个combobox的值。我用的是bianhao=:xfdh
     Parameters.ParamByName('xfdh').Value := trim(ComboBoxXFDH.Text) ;现在尝试。。提示出错:不正常的定义参数对象。提供了不一致或不完整的信息
    3.数据集刷新下,不行数据集重新获取数据嗯。。就是不知道怎么刷新呢
      

  3.   

    我根据1楼的大大给的来改的求和的代码
    procedure TCXYYDfrm.ComboBoxXFDHExit(Sender: TObject);
    begin
      with  DMrestaurant.Adoq do
        begin
          Close;
          SQL.Clear;
          SQL.Add('select sum(单价) as ASum from 消费明细表 where 消费单号=:xfdh ');
          open;
          editzongxf.text:= DMrestaurant.Adoq.FieldByName('ASum').AsString;
        end;
    end;
      

  4.   

    2.Parameters.ParamByName('danhao').Value := trim(comboboxdanhao.Text); 
    这个数据表里有数据没有,DBgril有没有和adoq联上
      

  5.   

    查询的问题也OK了。发现原来是dataset连错数据库了。。我极度郁闷。。就差刷新的问题了~我试过refresh和关了再开。都会出错。。