Присваивает статус модификации или удаления полю или записи в таблице или курсоре.
SETFLDSTATE(cFieldName | nFieldNumber, nFieldState [, cTableAlias | nWorkArea]) |
Параметры
- cFieldName | nFieldNumber
- Определяет имя или номер поля, для которого присвоен статус модификация или удаления. Номер поля nFieldNumber соответствует номеру поля в структуре курсора или таблицы. DISPLAY STRUCTURE или FIELD( ) может использоваться, чтобы определить номер поля. Чтобы установить статус удаления для записи, включите 0 как номер поля.
- nFieldState
- Определяет значение статуса модификации или удаления для поля. Следующая таблица перечисляет значения статуса модификации или удаления для поля и соответствующий статус модификацию или удаления:
nFieldState Статус модификации или удаления 1
Поле не модифицировалось, или состояние удаления не изменялось.
2
Поле модифицировалось, или состояние удаления изменялось.
3
Поле в добавленной записи не модифицировалось, или состояние удаления не изменялось для добавленной записи.
4
Поле в добавленной записи модифицировалось, или состояние удаления изменялось для добавленной записи.
- cTableAlias
- Определяет псевдоним таблицы или курсора, в которых присвоены статусы модификации или удаления.
- nWorkArea
- Определяет рабочую область таблицы или курсора, в которых присвоены статусы модификация или удаления. Значения статуса модификация или удаления поля присваивааются в открытой таблице или курсоре выбранной текущей рабочей области, если SETFLDSTATE( ) выполнена без дополнительных параметров cTableAlias или nWorkArea .
Возвращаемое значение
Логическое
Замечания
Visual FoxPro использует значения состояния поля, чтобы определить, какие поля в таблицах или курсорах модифицированы. SETFLDSTATE( ) позволяет Вам контролировать, какие поля Visual FoxPro пытается обновить, независимо от того какие поля уже модифицированы в таблице или курсоре.
Пример
Следующий пример демонстрирует, как Вы можете использовать SETFLDSTATE( ), чтобы изменить статус поля. MULTILOCKS установлен в ON, требование для буферизации таблицы. Открыта таблица customer
в базе данных testdata
, затем используется CURSORSETPROP( ), чтобы установить режим буферизации в значение оптимистической буферизации таблицы (5).
Выполняется GETFLDSTATE( ), чтобы отобразить значение (1) соответствующее немодифицированному состоянию поля cust_id
прежде, чем оно модифицировано. Поле cust_id
изменяется командой REPLACE, и GETFLDSTATE( ) выполняется снова, чтобы отобразить значение (2) соответствтующее модифицированному состоянию поля cust_id
.
SETFLDSTATE( ) используется, чтобы изменить состояние поля cust_id
обратно в 1 (немодифицированный). GETFLDSTATE( ) выполняется снова и отображается 1, соответствуя состоянию поля cust_id
, заданному функцией SETFLDSTATE( ). TABLEREVERT( ) используется, чтобы вернуть таблицу к ее первоначальному состоянию.
Скопировать код | |
---|---|
CLOSE DATABASES |
См. Также
Другие Ресурсы
DELETED( ) ФункцияDISPLAY STRUCTURE Команда
FIELD( ) Функция
GETFLDSTATE( ) Функция
Функции
Справочник Языка