问题(1)我的界面的TabbedNotebook分4层,我在每层都有DBGird,可是是我的SQL数据库里面只有一张相连的数据表,使得我从第一层的TabbedNotebook里面得到一组查询的数据的时候,等我翻到第2页的时候,第2页的DBGird留有第一张留下的同样的数据,怎么办才能使后面几页的DBGird里面没有第一页查询留下的数据呢?请写详细点问题(2)我用的是TQuery组件,我想要统计数据时候,就是想把SQL数据库中的一张表的一列数据想加,得到的数据显示出来,要怎么写程序,而且我要用什么样的EDIT来接受数据,请写写相关的代码。问题(3)我先用一个BUTTON查询出我要的信息显示在一个DBGird中,我先再用一个BUTTON来删除DBGird里面的信息,我写的程序是
procedure TForm1.Button6Click(Sender: TObject);
begin
 QUERY1.Close;
QUERY1.SQL.Clear;
QUERY1.SQL.Add('delete FROM 客户信息 WHERE 退房时间 !=''''');
QUERY1.OPEN;
 end;
可是我用一次,就有一次非法的警告,可是数据库中的数据是删除成功了~~为什么有警告呢?请看看 我的代码要怎么修改才好?问题(4) 先看我假设画的截面  客户房号        EDIT1
  客房费用        EDIT2
  押金数          EDIT3
  客户应付金额    EDIT4我想当我输入客户房号的时候 ,也就是再EDIT1中输入数据的时候,EDIT2,EDIT3,EDIT4都相应的跳出相关的信息(不含计算),怎么办?是不是不用EDIT,而是用DBEDIT或别的什么?请写点代码  谢谢!

解决方案 »

  1.   

    1,因为你用的同一个QUERY,当然就都显示出来了;
    2,select sum(yourfield) from you table;
    3,query1,executeSQL;
    4,考虑用SQL
      

  2.   

    outer2000(天外流星) :我用的都是Char,可是写的还是数字,出现的错误是 
    服务器: 消息 409,级别 16,状态 2,行 1
    sum or average aggregate 运算不能以 char 数据类型作为参数。
      

  3.   

    1 REfresh
    2 select sum(cast(yourfield as integer)) from you table
    3 QUERY1.execsql;

     with query do
    begin
      close;
    sql.clear;
    sql.add('select * from table where 客户房号 = ' + edit1.text);
    open;
    edit2.text:=fields[0].asstring;
    edit3.text:=fields[1].asstring;
    edit4.text:=fields[2].asstring;
    end;
      

  4.   

    天外流星:
    在问题(1)中 你能用一个函数来解决吗?
    在问题(2)中
    我用的都是Char,可是写的还是数字,出现的错误是 
    服务器: 消息 409,级别 16,状态 2,行 1
    sum or average aggregate 运算不能以 char 数据类型作为参数。
    在问题(4)中 你能说的详细点吗?请详细点
      

  5.   

    firetoucher(风焱) :
     1 REfresh 加哪里呀~~请写点代码好吗?
      

  6.   

    请再问问 
    我用的是TQuery组件,我想要统计数据时候,就是想把SQL数据库中的一张表的一列数据想加,得到的数据显示出来,要怎么写程序,而且我要用什么样的EDIT来接受数据,请写写相关的代码。 可是我写用了下面的代码后~得到的统计后的数据只会出现在我的DBGird里面~怎么才能让数据显示在我的EDIT19里面呀~~请修改我的代码,谢谢 
     QUERY1.Close;
    QUERY1.SQL.Clear;
    QUERY1.SQL.Add('select sum (客户应付总金额)  from  客户信息');
    QUERY1.OPEN;
      

  7.   


     QUERY1.Close;
    QUERY1.SQL.Clear;
    QUERY1.SQL.Add('select sum (客户应付总金额) as price from  客户信息');
    QUERY1.OPEN;
    edit.text:=query1.recordset.field[0].asstring;