SELECT a.stuff_no,a.STUFF_NAME,a.PY,b.DEPT_NAME AS att_dept_name,a.ATT_DEPT_ID
FROM stuff a,dept b
WHERE a.ISUSE='y' AND a.STUFF_TYPE='01' AND a.ATT_DEPT_ID=b.DEPT_ID
在数据库中能查询到信息  但是在 TDBGridEh  不能显示出  a.stuff_name  a.py  这两个字段 求高人指教数据库TDBGridEh

解决方案 »

  1.   

    看看其他列是怎么显示出来的
    ------------------------------
    按这两个方向找问题
    1 query中是否设置了显示字段
    2 grid中是否设置了数据列
      

  2.   

    1.你的ADOQuery的FieldList中没加上那两个字段.双击ADOQuery可以查看其字段(其实我是不太乐意在ADOQuery中加字段的,这样不利于动态添加字段什么的)
    2.你的DBGridEh列没设置FieldName
      

  3.   

    一般不会出现这样的问题,你的TDBGridEh是不是在设计期添加了字段,而其中没有不显示的字段。
      

  4.   

    ado query 中没有字段    TDBGridEh设计时没有添加字段  自动生成的  这是查询语句
    SELECT A.STUFF_NO, A.STUFF_NAME, A.PY, B.DEPT_NAME AS ATT_DEPT_NAME, A.ATT_DEPT_ID ' +
        '  FROM STUFF A, DEPT B ' +
        'WHERE A.ISUSE = ''Y'' AND A.STUFF_TYPE = ''%S'' AND A.ATT_DEPT_ID = B.DEPT_ID  ',
        '编号,姓名,拼音, 所属单位名称, 所属单位ID');
      

  5.   


    看看其他列是怎么显示出来的
    ------------------------------
    按这两个方向找问题
    1 query中是否设置了显示字段
    2 grid中是否设置了数据列除了上边提到的两个可能, 再就是你查看
    3 query查询后结果集的字段是否包含stuff_name和py
    4 grid是不是动态删除/隐藏了列
    ====================================
    实在不行, 你分别拉新控件试试就知道是哪个环节出问题了.
      

  6.   

    哈哈 你可以找同事或同学帮助一块儿看看, 应该是小问题导致的用下边的代码看看query中的字段有没有包含 姓名, 拼音?
    如果没有, 换个新的query代替现在的query试试.
    如有有, 换个新dbgrid试试
    ------------不会有其它情况了  :)
    procedure TForm11.btn2Click(Sender: TObject);
    var
      i: Integer;
    begin
      qry1.open;  for i := 0 to qry1.FieldCount - 1 do
        showmessage(qry1.Fields[i].FieldName);
    end;