1 Son düzenleyen, mrduyar (05.02.2008 13:08:00)

Konu: cursor de index

Visual Fox Pro
Create Cursor Cremirler (emir c(20),emiktar N(12),kalan N(12),Id i)

    Index On emir To emir
    Select luemirler
    Locate
    Scan For luemirler.okk=.F. And Alltrim(luemirler.wka_partno)=Lcwpartno
        Insert Into Cremirler (emir,emiktar,kalan,Id) ;
            Values(luemirler.emir,luemirler.emiktar,luemirler.kalan,luemirler.Id)
    Endscan
    Select Cremirler
    Set Order To emir


yukarıdaki gibi cursor e index yaıpyorum.
2-3 kullanıcı aynı kodu çalıştırınca index hatası veriyor. (file access is denied emir.cdx) şeklinde
özetle çok kulanıcılı bir ortamda cursor de index yaparken nelere dikkat etmeliyim.

Bilmediğin Neyse Yanıldığındır.

2 Son düzenleyen, metin (05.02.2008 13:14:11)

Re: cursor de index

index on emir tag emir dersen problemin kalmaz.

sebebini merak ediyorsan şöyle: index ... to komutu ile o isimde bir indeks dosyası oluşturursun.

ama eğer tag kullanırsan indeks dosyasını değil sadece tag ını seçmiş olursun. to kullanmadığın için cursor dosyasına kendisi bir isim uydurur. tek can sıkıcı yanı dosyanın soyismini tmp değil de .cdx olarak yapıyor. kitlenmelerden kalan tmp leri sileyim dediğinde .cdx dosyaları kalıyor.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

3

Re: cursor de index

tek bir sql-select cümlesiyle halledilemez miydi acaba?

4

Re: cursor de index

ercan kardeş;
luemirler table ına yuklarıda hesaplama yapılarak 3-5 tane satır ekleniyor.
Buffer 5 çalışıyorum. table update ise işlemin sonunda.
Arada benim güncellenmiş luemirler dosyası ile işlem yapmam gerekiyor.
select komutu tableupdate yapılmamış kayıtları görmüyor.
O yüzden başka yol yok gibi (çetin hocam için değil olabilir bu tongue ) ben bulamadım.
Bulanlar bilgilendirsin.
Saygılar

Bilmediğin Neyse Yanıldığındır.

5

Re: cursor de index

versiyonun VFP 9 ise
select komutunda
WITH (BUFFERING=.T.)
eklersen bufferdakileride alırsın.

6

Re: cursor de index

cemal hocam çok teş. Bu gün bir şey daha öğrenmiş olduk.

Bilmediğin Neyse Yanıldığındır.