处理TADOQuery查询返回的Null值

     在Delphi中,TADOQuery查询返回值为Null时,不能赋值给对应类型。比如,在Delphi中:       

   var

      s Value : string;

   ...

   sValue := FieldValues[sFiledName];

 

    我写了一个类TDBAQuery ,来代替ADOQuery。

  TDBAQuery = class(TADOQuery)
  private
    function GetFieldValue(const sFieldName: string): Variant;
  public
     property FieldValues[const FieldName: string]: Variant
       read GetFieldValue; default;
  end;

...

{ TDBAQuery }

function TDBAQuery.GetFieldValue(const sFieldName: string): Variant;
var
  AField: TField;
begin
  //处理Null值
  AField := FieldByName(sFieldName);
  if AField.IsNull then
    Result := ''
  else
    Result := inherited FieldValues[sFieldName];
end;

 

这样,便可以按TQuery的方式处理Null值,用('')值填充Null。
   将提示错误“  Could not convert variant of type (Null) into type (String)”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值