Форум » [x]Harbour » replace? » Ответить

replace?

hairs: такой код гдето в начале REQUEST DBFCDX, DBFFPT SET EXCLUSIVE OFF далее if file( 'myfile.dbf') Use myfile alias myfileList locate FOR AllTrim(Name)==cName if found() replace cvalue with '000' endif select('myfileList') use endif дает ошибока dbfcdx/1022 Lock required ?

Ответов - 14

Dima: hairs пишет: дает ошибока dbfcdx/1022 Lock required if Rlock() replace ......... DBUnlock() endif

hairs: спс вот только не понял что запись постоянно по обновлению блокировать придется? чтото в примере только с аппендом такового не увидел

PSP: hairs пишет: чтото в примере только с аппендом такового не увидел DBAppend() сама блокирует добавляемую запись.


Dima: hairs пишет: вот только не понял что запись постоянно по обновлению блокировать придется? Можно и не делать если задача однопользовательская. Тогда SET EXCLUSIVE ON PSP пишет: DBAppend() сама блокирует добавляемую запись Да но проверка с NetErr() не помешает (или я совсем отстал).

PSP: Dima пишет: Да но проверка с NetErr() не помешает (или я совсем отстал). Ну, если в приложении наряду с блокировкой записей используются и блокировки файлов, то - да, не помешает. Других вариантов, когда DBAppend() не сможет заблокировать ею же созданную запись, что-то не видится (или я плохо смотрю )...

Dima: PSP я о таком ;) [pre2] PROCEDURE Main USE Customer SHARED ALIAS Cust SET INDEX TO Cust01, Cust02 Cust->( DbAppend() ) IF NetErr() ? "Unabled to append new record" ELSE ? "Fill data to new record" REPLACE Cust->Firstame WITH "Paul" REPLACE Cust->Lastname WITH "Newman" DbCommit() DbUnlock() ENDIF WAIT Browse() CLOSE Customer RETURN [/pre2] PS Проехали

Петр: Dima пишет: Проехали Почему?

Dima: Петр пишет: Почему? PSP и я друг друга поняли ;)

Петр: Dima пишет: PSP и я друг друга поняли ;) А как же топикстартер? Что ему делать?

Dima: Петр пишет: А как же топикстартер? Что ему делать? Появятся вопросы у него , напишет а пока молчит

Петр: Что-то мне кажется, что он скорее на грабли наступит

Dima: Петр пишет: Что-то мне кажется, что он скорее на грабли наступит Так даже интереснее Коли наступит , поведает нам а мы поможем.

hairs: Dima пишет: Можно и не делать если задача однопользовательская. Тогда SET EXCLUSIVE ON собственно данное файло используется как локальное, но если запускать несколько экземпляров прилады, я думаю что всетаки офф но все равно чтото мне непонятно зачем запись блокировать требуется

PSP: hairs пишет: чтото мне непонятно зачем запись блокировать требуется Блокировка нужна, если файл открывается в режиме SHARED.



полная версия страницы