delphi - 当 FieldByName ('fieldname' ) 具有空值时, A​​sString 返回的值是多少?

标签 delphi

val 有什么值(value)? ,为字符串类型,当列名fieldName时获取是 null对于选定的行?这里myQry是一个数据库查询。

val := myQry.FieldByName('fieldName').AsString

这里栏fieldName表中确实存在,但对于选定的行/记录,值为 null .我看过here .它提供了丰富的信息,但恐怕没有我需要的信息。我还看了this但这也没有多大帮助。

最佳答案

你可以自己测试一下,只需调用

MyDataSet.FieldByName('MyField').Clear

这会将 MyField 设置为 Null然后调用AsString它返回一个空(零长度)字符串。
GetAsString TField 后代的方法通常包含如下代码:
function TIntegerField.GetAsString: string;
var
  L: Longint;
begin
  if GetValue(L) then Str(L, Result) else Result := '';
end;

在这里,GetValue如果可以从当前记录缓冲区中检索值,则成功。如果失败,该字段将被视为包含 Null .

关于delphi - 当 FieldByName ('fieldname' ) 具有空值时, A​​sString 返回的值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40254645/

相关文章:

delphi - TComboEdit组件

Delphi 2007 和 {$IFDEF...} 指令,无法看到我们的条件

delphi - RAD Studio XE2中是否有dcc32.exe?错误:此产品版本不支持命令行编译

delphi - 如何更改环境变量并让其他应用程序在不注销的情况下看到该值?

android - 能够在水平滚动框中垂直滚动外部布局

德尔福7 : Application scaling

windows - 为什么我的 win32 程序需要提升?

delphi - SOAP 与sugarcrm和delphi 7的连接

string - OleVariant 可用于 DLL 过程中的输出参数吗?

xml - 如何在OmniXML中替换节点xml?