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 更新时间: