_DBReplace( ) помещает в поле новое значение.
int _DBReplace(Locator FAR *fld, Value FAR *val) Locator FAR *fld; /* Замещаемое поле. */ Value FAR *val; /* Значение, помещаемое в поле. */ |
Замечания
_DBReplace( ) возвращает 0, если замещение прошло успешно. Если произошла ошибка, _DBReplace( ) возвращает отрицательное число, абсолютное значение которого равно номеру ошибки Visual FoxPro. _DBReplace( ) ожно использовать для memo-поля, когда в него нужно занести новое значение, длина которого меньше 65,000 байт. Для выполнения операций над memo-полями, которые превышают по длине 65,000 байт, необходимо пользоваться процедурами непосредственной обработки memo-полей и процедурами буферизованного файлового ввода-вывода.
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.
Пример
Следующий пример предлагает примерно те же функциональные возможности, что и команда Visual FoxPro REPLACE, но в отличие от нее за один раз замещается значение только одной записи.
Код Visual FoxPro
Copy Code | |
---|---|
SET LIBRARY TO DBREPLAC DO CreateTest ? DBREPLACE(@ABC, "Replacement record 1") ? DBREPLACE(@ABC, 2) && returns -302 - field ABC is character field PROCEDURE CreateTest CREATE TABLE test (ABC C(20)) APPEND BLANK REPLACE ABC WITH "This is record 1" APPEND BLANK REPLACE ABC WITH "This is record 2" APPEND BLANK REPLACE ABC WITH "This is record 3" APPEND BLANK REPLACE ABC WITH "This is record 4" GO TOP RETURN |
Код C
Copy Code | |
---|---|
#include <pro_ext.h> FAR Example(ParamBlk FAR *parm) { _RetInt(_DBReplace(&parm->p[0].loc, &parm->p[1].val), 10); } FoxInfo myFoxInfo[] = { {"DBREPLACE", (FPFI) Example, 2, "R,?"}, }; FoxTable _FoxTable = { (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo }; |
Смотрите также
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.