在Delphi中,TADOQuery查询返回值为Null时,不能赋值给对应类型。比如,在Delphi中:
var s Value : string; ... sValue := FieldValues[sFiledName]; 我写了一个类TDBAQuery ,来代替ADOQuery。 TDBAQuery = class(TADOQuery) ... { TDBAQuery } function TDBAQuery.GetFieldValue(const sFieldName: string): Variant;
private
function GetFieldValue(const sFieldName: string): Variant;
public
property FieldValues[const FieldName: string]: Variant
read GetFieldValue; default;
end;
var
AField: TField;
begin
//处理Null值
AField := FieldByName(sFieldName);
if AField.IsNull then
Result := ''
else
Result := inherited FieldValues[sFieldName];
end;
将提示错误“ Could not convert variant of type (Null) into type (String)”

本文介绍了一种在Delphi中处理TADOQuery查询返回Null值的方法,通过创建TDBAQuery类来解决Null值不能直接赋值给对应类型的问题,并实现了用空字符串填充Null值。
8828

被折叠的 条评论
为什么被折叠?



