ADOVBS.inc (ActiveX Data Objects (ADO) for Visual Basic Script (VBS or VBScript))

ADO+ODBC yoluyla kuracağımız veri bağlantıları, çoğu zaman adeta şifreli ifadeler içerebilir ve bir çok komutun argümanı öğrenmesi zor sayılar halinde verilir.

Microsoft ve kullanılmaya hazır ASP Uygulamaları üreten firmalar, bu karmaşık ifadeleri düz metinler olarak ifade etmeye yarayan haricî dosyalar (include files) hazırlar ve sunarlar. Bunlar arasında en yaygın olanı Microsoft’un ADOVBS (adovbs.inc) dosyasıdır.

Bu dosya, Server tarafından icra edilir ve ADO nesnesinin sayı halindeki bütün argümanlarını anlaşılabilir İngilizce kelimelere çevirir.

Veritabanı bağlantılarının dosyasıyla ADO nun bulunduğu sayfalarda genellikle aşağıdaki şekilde ifadeler vardır.

Rs.open dbconn , sql , 3 ,1

Aslında burada “3” ve “1” sayıları bir sabiti(Constant) belirtir. işte ADOVBS.inc dosyası bu sabitlerin bulunduğu özel bir dosyadır.Aşağıda dosyanın bir kısmı gösterilmektedir.

<% '-------------------------------------------------------------------- ' Microsoft ADO ' ' Copyright (c) 1996-1998 Microsoft Corporation. ' ' ' ' ADO constants include file for VBScript ' '-------------------------------------------------------------------- '---- CursorTypeEnum Values ---- Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 ………%>

Görüldüğü gibi bu dosyanın içerisinde ADO’nun sabitleri vardır. Yani adovbs.inc dosyasını sayfamıza include edersek Yukarıdaki rs için yazdığımız ifadeyi
rs.Open dbconn, sql , adOpenStatic , adLockReadOnly
şeklinde yazabiliriz. adovbs.in kullanımı kodu daha okunur bir hale getirir.Ayrıca bu şekilde bizim ADO sabitlerini bilmemize gerek kalmaz (4 kursor tipinden hangi sayının hangisine ait olduğunun akılda tutulmasına gerek yoktur. ) : ) .

.inc uzantısı hakkında :

inc uzantısı o dosyanın bir “include” dosya olduğunu belirtir. Bu uzantı yerine başka bir uzantıda kullanılabilir .Genelde include edilen dosyalarda görünmesini istemediğimiz veriler varsa bunlar .asp formatında kaydedilir.Çünkü .inc veya başka uzantılı bir dosya diske kaydedilebilirken .asp uzantılı bir dosya derlenerek html formatına dönüştürülür.

Ado sabitlerinin kullanılabilmesi için dosyanın kullanılacak sayfaya include edilmesi gerekir.


veya

Bu sabitler ile recordset nesnesini 4 şekilde kullanbiliriz.

Forward Only: Bu imlecimizle, veritabanındaki kayıtlar arasında sadece ileri doğru ilerleyebiliriz. Geri yani yukarı gitme imkanımız yoktur. Ayrıca yeni kayıt ekleyemeyiz. Ve eğer biz açtıktan sonra, o anda başkaları tarafından değiştirilen veriler varsa, veritabanını yeniden kapatıp açana kadar göremeyiz. Eğer Adovbs.inc’le birlikte kullanıcaksak kod içindeki kullanımı adOpenForwardOnly’dir.

Static: Durağan anlamına gelir. ForwardOnly’e ek olarak, yukarı doğru ilerleyebilir ve yeni kayıtlar ekleyebiliriz… Adovbs.inc’le birlikte kullanıldığında kod kullanımı, adOpenStatic’tir… Eğer biz açtıktan sonra, o anda başkaları tarafından değiştirilen veriler varsa, veritabanını yeniden kapatıp açana kadar göremeyiz.

Dynamic: Adından da anlaşılabileceği gibi, bu cursor tipi, tam özelliklere sahip cursor tipidir. Yukarı ve aşağıya ilerleyebilir, yeni kayıt ekleyebilir ve değiştirebiliriz. Eğer biz açtıktan sonra, o anda başkaları tarafından değiştirilen veriler varsa, veritabanını yeniden kapatıp açmadan anında görebiliriz…Kod sayfasında, Adovbs.inc’le birlikte kullanıcaksak, kod içinde kullanımı adOpenDynamic’tir…

Keyset: Bu metodumuzla, başkaları tarafından değiştirilen kayıtları görebiliriz… Cursor’umuz yukarı ve aşağı ilerleyebilir. Adovbs.inc’le birlikte kod içinde kullanımı, adOpenKeyset’tir…

Kod içinde kullandığımız, adOpenStatic’in hemen yanındaki ise RecordSet nesnemizin kilit özelliğidir. Farklı çeşitlerde kilitler vardır. Bir kaç tanesini yazacağım.

AdLockReadOnly: Kayıtlı verilerimizin değiştirilmesini, üzerine yazılmasını engellememizi sağlar. Yeni kayıt girişini engeller. Sadece Listelemeye izin verir…

AdLockOptimistic: Bu metodumuz da kayıtlarımızın güncelleştirilmesini, yeni kayıtlar eklememizi, ve istersek silmemizi sağlar.
AdLockPessimistic: Bu metodumuz da eğer bir veritabanı üzerinde işlem yapıyorsak, işlemlerimiz bitene kadar, diğer işlem yapabilecek kişileri engellemk için RecordSet’e kilit koyar.