Delphi TDataSet FindField 方法


Delphi TDataSet FindField 方法

FindField 在数据集中搜索指定字段。

Delphi 原型:

function TDataSet.FindField(const FieldName: string): TField;
begin
  Result := FFields.FindField(FieldName);
  if (Result = nil) and ObjectView then
    Result := FieldList.Find(FieldName);
  if Result = nil then
    Result := FAggFields.FindField(FieldName);
end;

C++语法:

TField* __fastcall FindField(const AnsiString FieldName);

描述:

  • 调用FindField以确定数据集中是否存在指定的字段组件。FieldName是要搜索的字段的名称。此名称可以是简单字段的名称、由父字段名称限定的对象字段的子字段的名称,也可以是聚合字段的名称。
  • 如果FindField找到具有匹配名称的字段,则返回指定字段的TField组件。否则它将返回nil(Delphi)或NULL(C++)。
  • FindField与FieldByName方法相同,只是它返回nil(Delphi)或NULL(C++),而不是在找不到字段时引发异常。

Delphi示例:

with ClientDataSet1 do 
begin
  { 这是更改'TestF1'字段的安全方法 }
  FindField('TestF1').AsString := 'TaoRoy';
 { 这不是*更改'TestF1'字段的安全方法 }
  Fields[0].AsString := 'TaoRoy';
end;

C++示例:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  DataSource1->Edit();   ////将数据源置于编辑模式,否则无法更改
  // 这是更改“TestF1”字段的安全方法
  ClientDataSet1->FindField("TestF1")->AsString = "TaoRoy";
  //这不是更改“TestF1”字段的安全方法
  // ClientDataSet1->Fields->Fields[0]->AsString = "TaoRoy";
}

  

  

创建时间:2021.11.22  更新时间:

相关