DataDomain: DbDataDomain;
Свойство DataDomain определяет тип данных поля источника данных, если оно предназначено для хранения многобайтовой информации.
Поле может хранить многобайтовую информацию, если свойство DataType имеет значение DbDataType.String или DbDataType.Blob.
Также, если поле таблицы имеет тип - DbDataType.DateTime и поле может хранить дату и время с точностью до миллисекунд, то, свойство DataDomain вернёт значение DbDataDomain.MSec.
Для выполнения примера предполагается наличие в репозитории таблицы с идентификатором TBL.
Sub UserProc;
Var
MB: IMetabase;
DSInst: IDatasetInstance;
DSModel: IDatasetModel;
Fields: IDatasetModelFields;
Field: IDatasetModelField;
Begin
MB := MetabaseClass.Active;
DSInst := MB.ItemById("TBL").Open(Null) As IDatasetInstance;
DSModel := DSInst.Dataset;
Fields := DSModel.Fields;
For Each Field In Fields Do
If (Field.DataType = DbDataType.Blob) Then
Select Case Field.DataDomain
Case DbDataDomain.None: Debug.WriteLine("Поле " + Field.Name + " хранит двоичные данные");
Case DbDataDomain.Memo: Debug.WriteLine("Поле " + Field.Name + " хранит текстовые данные");
Case DbDataDomain.Raw: Debug.WriteLine("Поле " + Field.Name + " хранит пользовательские данные");
End Select;
Elseif Field.DataType = DbDataType.DateTime Then
If Field.DataDomain = DbDataDomain.MSec Then
Debug.WriteLine("Поле " + Field.Name + " хранит дату и время с точностью до миллисекунд");
End If;
End If;
End For;
DSInst.Close;
End Sub UserProc;
После выполнения примера в окно консоли будет выведена информация о полях таблицы, которые предназначены для хранения многобайтовой информации.
См. также: