问一个很菜的问题(50分)

  • 主题发起人 主题发起人 hongshanwdj
  • 开始时间 开始时间
H

hongshanwdj

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好,请问如何判断dbgrid中某列(字段)里有空值,谢谢啊
我是新手,请大家帮帮忙啊,在线等
 
adoquery1.first;
while not adoquery1.eof do
begin
if adoquery1.fieldbyname('字段').asstring='' then
showmessage('空值');
adoquery1.next;
end;
 
好,谢谢pyk1,我是想是否直接很快判断dbgrid里得数据,而不是通过查询遍历的方法,因为数据很多时会占用时间,有没有简单的方法直接就能判断出来,并且有空值的该行变红色显示,谢谢啊
 
不要以为dbgrid里面有数据,它本身不存数据,是一个纯显示的控件,它连接的datalink只存有画面上的片段数据,没什么意义。
 
if exists (select * from table1 where fld1 is null or fld1 = '')
 
procedure TFkc.DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
begin
if GdSelected in State then
begin
exit;
end;
if (dm1.adoquery1.Fieldbyname('字段').Asstring ='' then
aFont.Color := clred
else
aFont.Color := clblue;
end;
 
DBGridEh1.ONGetCellParams
begin
if length(adoquery1.Fieldbyname('field').Asstring)=0 then
//...
else
 
初学Delphi的都这样(I也饭过这样错误), 凡是感知控件 ,一般都判断dataset,因为dbgrid 控件都是只显示的,数据完全来自于dataset, 但有些例外就是 TDBEdit 等一类的,可以判定trim(DBEDIT1.text ) ='' 所以容易混淆.
 
后退
顶部