Форум » [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.
полная версия страницы