各位大虾,
告诉我在query中,我以ID作为查询的条件,查找学生的信息,有的显示,没有的不显示,我应该用Query的那个属性啊
 ADOQuery1.First ;
    for k := 0 to i do
    begin
        StringGrid1.Cells[l,k + 1] := ADOQuery1.Fields[1].asstring;
      ADOQuery1.Next ;
    end;
这是我现在写的
但是不对啊

解决方案 »

  1.   

    StringGrid1.Cells[l,k + 1] := ADOQuery1.Fields[1].asstring;
    最大的可能性是问题出在这里。你查一下!
      

  2.   

    i:=1;
    while not adoquery1.eof do
    begin
    stringgrid1.cell[0,i]:=adoquery1['xx'];
    stringgrid1.cell[1,i]:=adoquery1['xx'];
    stringgrid1.cell[2,i]:=adoquery1['xx'];
    stringgrid1.cell[3,i]:=adoquery1['xx'];
    stringgrid1.cell[4,i]:=adoquery1['xx'];
    adoquery1.next;
    inc(i);
    end;
    表头的字段就用stringgrid1[0,0]:=‘字段’
                 stringgrid2[0,1]:=‘姓名’……就行了。
      

  3.   

    不行啊
    实现不了啊
    select 内编号,sum(本次实交) as 管理费
    from (select t1.内编号,t2.本次实交
    from (SELECT 内编号
    FROM 交费记录
    WHERE (内编号>=1 and 内编号 <= 368) and (交费时间 >= #2003-9-1# and 交费时间 <= #2003-9-20#) and (项目="二级维护" or 项目="管理费")
    GROUP BY 内编号) as t1,(SELECT 内编号,本次实交
    FROM 交费记录
    WHERE (内编号>=1 and 内编号 <= 368) and (交费时间 >= #2003-9-1# and 交费时间 <= #2003-9-20#) and 项目="管理费") 
    as t2,t1 left join t2 on t2.内编号=t1.内编号)
    group by 内编号; 这是我的query中Sql查询的语句
    我现在需要把   sum(本次实交) as 管理费    这段限定时间的 '管理费'输出
    但是不行啊
    在帮我看看吧
      

  4.   

    你的sql有问题吗?
    检查以下吧
      

  5.   

    StringGrid1.Cells[l,k + 1] := ADOQuery1.Fields[1].asstring;
    换为
    StringGrid1.Cells[l,k + 1] := ADOQuery1.Fields[k].asstring;
      

  6.   

    我的sql再access数据库中已经实现了阿
    但是在Delphi中不能实现
    ADOQuery1.Fields[k].asstring
    不能这么写吧
    k代表的是查询语句阿
    在帮我看看
      

  7.   

    是让有管理费的显示,没有管理费的不显示吗?
    在 group by 内编号后面加一句
    having 管理费>0