Data.DB.TDataSet.FieldByName
Delphi
function FieldByName(const FieldName: string): TField;
C++
TField* __fastcall FieldByName(const System::UnicodeString FieldName);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | Data.DB.pas Data.DB.hpp |
Data.DB | TDataSet |
説明
項目名に基づいて項目を検索します。
FieldByName メソッドを呼び出すと,項目の名前がわかっている場合に,その項目の情報を取得することができます。FieldName は既存項目の名前です。FieldByName は,指定した項目を表す TField オブジェクトを返します。指定した項目が存在しない場合,FieldByName は EDatabaseError 例外を生成します。
FieldName には,単純な項目名,親項目の名前によって限定されるオブジェクト項目の下位項目の名前,集計項目の名前を指定できます。このような柔軟性のために,Fields プロパティや AggFields プロパティよりも,FieldByName プロパティ(または FieldByName メソッド)の使用をお勧めします。
アプリケーションは,FieldByName によって返される項目の特定のプロパティおよびメソッドに直接アクセスできます。たとえば,次の文では,指定した項目が計算フィールドであるかどうかを判定できます。
if Customers.FieldByName('FullName').Calculated then
MessageDlg(Format('%s is a calculated field. ', ['FullName']), mtInformation, [mbOK], 0);
if (Customers->FieldByName("FullName")->Calculated)
Application.ShowMessage("This is a calculated field", "FullName", MB_OK);
FieldByName は,データベースアプリケーションを作成しているが,設計時に基になるテーブルにアクセスできないために静的項目コンポーネントを使用できないという場合に特に便利です。
ヒント: 指定した項目の値を取得または設定する場合は,FieldByName ではなく,データセットのデフォルトプロパティの FieldValues を使用します。