Delphi TDataSet FindField 方法

Delphi TDataSet FindField 方法

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

Delphi 原型:

1
2
3
4
5
6
7
8
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++语法:

1
TField* __fastcall FindField(const AnsiString FieldName);

描述:

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

Delphi示例:

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

C++示例:

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

  

  

 

创建时间:2021.11.22  更新时间:

posted on   滔Roy  阅读(556)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报

导航

点击右上角即可分享
微信分享提示