IDalCursorField.DataDomain

Синтаксис

DataDomain: DbDataDomain;

Описание

Свойство DataDomain возвращает тип данных поля, если оно предназначено для хранения многобайтовой информации.

Комментарии

Поле может хранить многобайтовую информацию, если свойство GetDbDataType возвращает значение DbDataType.String или DbDataType.Blob. Принцип работы с многобайтовой информацией описан в базе знаний в статье «Работа с полями, имеющими пользовательский тип данных».

Также, если поле таблицы имеет тип - DbDataType.DateTime и поле может хранить дату и время с точностью до миллисекунд, то, свойство DataDomain вернёт значение DbDataDomain.MSec.

Пример

Для выполнения примера предполагается наличие в репозитории БД с идентификатором «DB». В данной БД хранятся данные таблицы с физическим именем «TBL».

Sub UserProc;
Var
    MB: IMetabase;
    DB: IDatabaseInstance;
    Com: IDalCommand;
    Cur: IDalCursor;
    Fields: IDalCursorFields;
    Field: IDalCursorField;
Begin
    MB := MetabaseClass.Active;
    DB := MB.ItemById(
"DB").Open(NullAs IDatabaseInstance;
    Com := DB.Connection.CreateCommand(
"Select * From TBL");
    Cur := Com.CreateCursor;
    Fields := Cur.Fields;
    
For Each Field In Fields Do
        
If (Field.GetDbDataType = 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.GetDbDataType = DbDataType.DateTime Then
            
If Field.DataDomain = DbDataDomain.MSec Then
                Debug.WriteLine(
"Поле " + Field.Name + " хранит дату и время с точностью до миллисекунд");
            
End If;
        
End If;
    
End For;
    Cur.Close;
    Com.Close;
End Sub UserProc;

После выполнения примера в окно консоли будет выведена информация о полях таблицы, которые предназначены для хранения многобайтовой информации.

См. также:

IDalCursorField