读书人

显示不了数据解决办法

发布时间: 2012-02-28 13:06:35 作者: rapoo

显示不了数据
我的数据库的其中一个表的备注的数据类型用ntext,我在adoquery中的sql语句都添加了备注
'select ygbh as '+'''员工编号'+''''+',ygxm as'+'''员工姓名'+''''+',bmm as'+'''部门'+''''+',zwmc as'+'''职务'+''''+',lxdh as'+'''联系电话'+''''+',dzyj as'+'''电子邮件'+''''+',yg.bz as '+'''备注'+''''+'from yg ,zw ,bm where yg.bmbh=bm.bmbh and yg.zwbh=zw.zwbh';

在窗体的onshow事件也有memo1.Text:= datamodulemis.ADOQueryyg.FieldByName('备注').asstring;

问题是无论在dbgrid和memo1都不能显示我备注的内容?其他的如“员工编号”等都可以通过edit控件显示出来


[解决办法]
memo1.lines.text:=datamodulemis.ADOQueryyg.FieldByName( '备注 ').asstring;

[解决办法]
你的做法只会显示第一条记录的“备注”,问题所在在于没有刷新界面。如果第一条记录记录是空的,就好像看不到备注内容。
解决方法有两种:
1、记录移动时,刷新显示。
procedure TFmXXX.OnShowRecord(sender: TDataSet);
begin
memo1.Text:= ADODataSet1.FieldByName('备注').asstring;
...
end;

//记录移动时,需要刷新界面
procedure TFmXXX.FormShow(Sender: TObject);
begin
...
datamodulemis.ADOQueryyg.Open;
datamodulemis.ADOQueryyg.AfterScroll := OnShowRecord;
end;

2、查询时就对数据进行转换,在DBGrid里显示就没有问题。
select ...,cast(yg.bz as varchar) as '备注'...

读书人网 >.NET

热点推荐