DBF.SetField


Библиотека

DBF.AEL

Синтаксис

DBF.SetField(dbfFile: IDENT;
             fieldName: STRING[10];
             [ Value: ANYTYPE ]);

Описание

Прописывает значение DBF-поля по имени fieldName для текущей записи файла dbfFile. Файл должен быть открыт в режиме, допускающем модификацию, поле в нем должно существовать. Тип значения Value должен быть совместим по присваиванию с типом, возвращаемым функцией DBF.ConvTYPENAME. Значение Value может быть пустым. Если параметр Value пропущен, процедура пропишет поле пустым значением (для бинарных числовых DBF-типов пустое значение совпадает с нулем). В случае неудачи процедура выбросит исключение.

Модификация текущей записи производится в памяти, чтобы прописать изменения на диск необходимо выполнить DBF.Update. Если же вместо DBF.Update выполнить перепозиционирование или закрытие файла, то изменения будут потеряны.

В версии 14.138.020 исправлено преобразование для типов 'I' и '+'; раньше оно работало неправильно.

Символ DBF-типа Длина Имя DBF-типа Коммен-тарий Способ хранения Диапазон возможных значений Ожидаемые функцией значения
'B' 10 Binary (dBASE) Бинарные данные Бинарное в memo-файле   Целое число (позиция в memo-файле)
'B' 8 Double (FoxPro) Плавающее число Бинарное [-1E308 .. 1E308] (точность мантиссы ~15 десятичных знаков) Число
'C' [1 .. 65535] Character Строка Текстовое   Строка
'D' 8 Date Дата Текстовое [01\01\0001 .. 31\12\9999], пустое значение Дата
'F' [1..20] Float Плавающее число Текстовое [-9999999999999999999 .. 99999999999999999999], пустое значение Число
'G' 10 General Поток данных OLE Бинарное в memo-файле   Целое число (позиция в memo-файле)
'I' 4 Integer Целое число Бинарное [-2147483648 .. 2147483647] Целое число
'L' 1 Logical Булевский тип Текстовое 0, 1, пустое значение 0, 1, пустое значение
'M' 10 Memo Строка Текстовое в memo-файле   Целое число (позиция в memo-файле)
'N' [1..20] Numeric Число с фиксиро-
ванной точкой
Текстовое [-9999999999999999999 .. 99999999999999999999], пустое значение Число
'O' 8 Double (dBASE 7) Плавающее
число
Бинарное [-1E308 .. 1E308] (точность мантиссы ~15 десятичных знаков) Число
'P' 10 Picture (FoxPro) Изобра-жение Бинарное в memo-файле   Целое число (позиция в memo-файле)
'T' 14 DateTime (FoxPro) Дата и время Текстовое [01\01\0001 00:00:00 .. 31\12\9999 23:59:59], пустое значение Число (дата и время в формате VARIANT)
'T' 8 DateTime (FoxPro) Дата и время Бинарное [01.01.4713 BC 00:00:00 .. 01.01.4294962582 AD 00:00:00[, пустое значение Число (дата и время в формате VARIANT)
'Y' 8 Currency (FoxPro) Число с фиксиро-
ванной точкой
Бинарное [-922337203685477.5808 .. +922337203685477.5807] Число
'@' 8 Timestamp (dBASE 7) Дата и время Бинарное [01.01.4713 BC 00:00:00 .. 01.01.4294962582 AD 00:00:00[, пустое значение Число (дата и время в формате VARIANT)
'+' 4 Autoincrement (dBASE 7) Целое число Бинарное [-2147483648 .. 2147483647] Целое число

 

Исключительные ситуации

DBF-файл dbfFile не открыт Исключение 507
В DBF-файле нет ни одной записи Исключение 511
В DBF-файле dbfFile нет поля fieldName Исключение 505
В DBF-файле dbfFile поле fieldName имеет неизвестный тип Исключение 504
В DBF-файле dbfFile разрушена текущая запись Исключение 502
Переполнение поля DBF-файла Исключение 514

См. также