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