Konu: alias nedir
Belki size komik gelebilir çünkü çoğunlukla karşılaştığım bir şey ama ne olduğunu bilmiyorum. Alias?
Giriş yapmadınız. Lütfen giriş yapın yada kayıt olun.
Belki size komik gelebilir çünkü çoğunlukla karşılaştığım bir şey ama ne olduğunu bilmiyorum. Alias?
Alias: Takma ad
VFP'da dosyalarin gerecek adinin yani sira acildiginda onlara verilen 'takma ad' yani alias var. Programciliga yeni basladigindan diger dillerle benzetme yapamiyorum ama sanirim soyle anlatabilirim:
c:\datalar\customer.dbf
diye dosyan olsun. "c:\datalar\customer.dbf" o dosyanin gercek adi.
use ("c:\datalar\customer.dbf")
dediginde dosya acilir ve otomatikman atanan alias'i olur (customer).
use ("c:\datalar\customer.dbf") again in 0
diyerek ayni dosyayi ikinci kez acabilirsin. Otomatikman VFP ona 'B' aliasini atar ('A' ilk acilanin, B ikinci - bu sekilde ilk 10 alanin otomatik takma adi var)
select 0
dedikten sonra o iki dosyayi yeniden bulmanin yolu takma adlarini kullanmak:
select customer
select b
Burada B cok garip oldugundan, birden fazla aciyorsan aliasi kendi bildiryorsun:
use ("c:\datalar\customer.dbf") again in 0 alias ikinciKopye
Artik:
select ikinciKopye
dediginde aslinda sectigin customer.dbf tablosu.
Cursorler bir cesit tablo. Ikimizde ayni anda ayni programi kullaniyor olabiliriz ve soyle bir SQL calistirabiliriz:
* ben
select * from customer where country = 'USA' into cursor crsOrnek
* sen
select * from customer where country = 'Belgium' into cursor crsOrnek
Unutma bu ayni andan ayni programdan calisti ve ayni networkte ayni datayi kullaniyoruz (cok kullanicili bir program).
Ikimizde crsOrnek adli dosyaya degil crsOrnek ALIASli dosyalara sonucu aldik. Ikimizin sonuclari ve gercek fiziksel dosyalari farkli.
Ozetle:
disk uzerindeki filanca dosyayi ALIAS denen takma adla aciyorsun. Takma adlar o dosyalarin tutacaklari gibi.
benim şöyle bir yöntemim var dayımla çalışırken öğretti.
select 1
use table1
index on ad1 to ad1.ndx
select2
use table2
index on ad2 to ad2.ndx
bunları yazdıktan sonra alt kısımda select 1 diğerek çağırırsam direk select 1 in altına yazdılarımı yapıyor. Sizce bu daha kolay değil mi yoksa ben aliasın kullanılışını mı yanlış anladım.
Ya simdi dayinla beni karsi karsiya getirme:)
Basitce soyle diyeyim. O anda 20 dosyan acik ise sen onlardan hangisini sececegini kodunda belirtmek icin bir yanda da kagitta filan nerede hangisi acik onun izini mi sureceksin? Bence asla calisma alanlarinin numarasini kullanan kod yazma. Icinde numara olan tek select:
select 0
O da kullanimda olmayan ilk bos alani sec demek. Ya da degisken kullanip acik dosyayyi saklayip isi bitince oraya kuran kod parcaciklari. Ornek:
procedure HesapKontrol
lparameters tcMusteri
local lnSelect
lnSelect = select() && mevcut alani sakla
*...
select (m.lnSelect) && tekrar o alani sec
return ...
.ndx tipi indexler gecici kullanilabilecek otomatik olarak guncellenmiyen indexlerdir ve genelde gereksizdirler. Nadiren kullanilacagi yer cikar. Eskiden normal indexlermiz onlardi ama cok eskidendi o.
Pardon yanlış anlamayın. Belki de daha yeni olduğum için dayımın ne yapmış olduğunu da anlamayabilirim. Amacım karşılaştırma değildi.