ado kodları kullanırken hepimizinde bildiği gibi ilişkilendirme kuralları vardır buna ornek olarak "for each setText in me.txtFields" dongusunu hatırlayacaksınızdır . daha acık bir bicimde ifade edecek olursak data nesnesini kullanırken ki bağlantıya benzer bağlantılar kurmaya calışırız yalnız dikkatinizi cekmek istediğim bir nokta şudur dao!
dao yu kullananlar bilirlerki dao.fields tanımlaması bunu ado kodları bize sunmakta peki bunu puf noktası nedir diyilecek ise şunu belirtmek isterim mesela elinizde 7 adet text kutusu var ve adları txtFields(index) şeklinde . ve elinizde db deki verilerle formulize edilebilecek bir işlem var .formulumuzde şu olsun txtFileds(0) ı db deki 'stokmali1' ile carpacağız ( daha fazla formulu uzatmak tekrara sebep olacaktır kısa tutuyorum bu yuzden ) ve bunu txtFields(0) da iken entere basılmasında yapmasını istiyoruz . ornek kod
private sub txtFields_KeyPress(index as long) if keyascii = 13 then sonuc = txtfields(index).text * ado.fields("stokmali1") end if end sub
tabiki kodu bu şekilde kullanırsanız elinize bir yığın kod daha gececektir hangi txtField i hangi data filedle carpacağız tabiki cok basit select case değilmi hayır kullanacağımız yontem textlerle aynı sıraya sahip bir db oluşturmak yani db indexi ile txtFileds(index) i aynı olmalı bunu yaparsak kod
private sub txtFields_KeyPress(index as long) if keyascii = 13 then sonuc = txtfields(index).text * ado.fields(index) end if end sub
boylece kayıtları kolaylıkla select case kullanmadanda aktarabiliriz . dao ile data yı aynı anda kullanmak ve sql in kabiliyetini ado bir arada tutmakta ve bir cok yontem sunmakta
ikinci bir puf nokta ise ado kodlarında withevent ozelliğini kullanmaktır ki ado kullanan arkadaşların coğu adonun her yerden cağrılabilmesi icin modullere kaydederler . ancak moduller de ado withevent ozelliğini kullanamaz . ado yu formlar icinde kullanırsanız vb deki nesne referanslı bir kod oluşturabilirsiniz . bunufaidesi ne diyecek arkadaşlarda varsa mesela bir ado nesnesi ile kolayca hata yakalama ve diğer eventlarını kullanabiliyorduk ancak kod ile yazılan ado da ise bunu yapmak olmuyordu ancak 'dim withevent ado as adodb.recordset' şeklinde tanımlanan bir ado da ado nesnesi gibi tum ozelliklerini ortaya koymakta .
ado kodlarının bir diğer puf noktasıda ado nesnesinde olan ado bağlantısıdır . bunu hemen hemen hepimiz cnn1 olarak hatırlarız ki bunun ado nesnesiyle yapılamayacığını ve her bir ayrı bağlantı icin tekrar bir bağlantı kurmamız gerekeceğidir . bu veritabanını yavaşlatacak bir uygulamadır ( genelde butun kitaplarda ado daki cnn yi nothing e eşitleyin denir burdanda anlayabilirsiniz ne denli onemli olduğunu ) yalnız ado kodundaki bu bağlantıyı kurarken dikkat etmenizi tavsiye ettiğim bir nokta direk mdb ye bağlantı kurmamanız aksine sistem veri kaynağı oluşturup odbc ile bağlanmanızdır . bunun farkını buyuk mb lik db lerde fark edebilirsiniz odbc ile hızlı bir alışverişte bulunan ado kodları ve bunu tek bir cnn ile yapabildiğimiz icin tampon belleğin daha az kullanılacağıdır . ne kadar az tampon bellek kullanırsanız arama vb işlemlerde o kadar hızlı olacaktır . sql in karışık yapısının altındaki group larda tampon belleği azaltacaktır . ado kodları ile yazılan bir programda sql in elinizden geldiğince karmaşık yapıya soksanızda ( dao da olduğu gibi veritabanı icinde query hazırlamak oldukca illegaldir ki ado bu yuzden her zaman bir adım onde ) ado bundan etkilenmeyecektir . aksine bahsettiğim gibi group landırmakta tampon belleği rahatlatacaktır .
baksana59
__________________
ado puf noktası//:Baksana59 farkı
Programlama0 Mesaj
●27 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama
- ado puf noktası//:Baksana59 farkı