Murat TATAR God saves lost souls , I save lost passwords

20Nis/110

Sql Nedir

SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir. SQL herhangi bir veri tabanı ortamında kullanılan bir alt dildir. (sub language) SQL ile yalnızca veri tabanı üzerinde işlem yapabiliriz.

SQL cümleceikleri kullanarak veri tabanına kayıt ekleyebilir, olan kayıtları değiştirebilir silebilir ve bu kayıtlardan listeler oluşturabiliriz. SQL cümlecikleri genellikle aynı olmakla birlikte farklı veri tabanı ortamlarında değişebilmektedir. Ayrıca veri tabanlarının kendilerine özgü sql komutlarıda vardır.

SQL bir sorgu dili diyebiliriz. Database'den veri almak için kullanılır. Çok kapsamlı ve bir çok komutu vardır. Ama kullanması kolaydır çünkü okunduğunda bir cümle oluşur. Mesela;

SQL = "SELECT * FROM Kasa"

Okuduğunuzda Kasa'dakilerin hepsini seç gibi bir cümle oluşmakta. İşte SQL'un buna benzer çok kullanıcağınız 3 komutu bulunmakta. Diğerlerini ileride kullanıcağız. SELECT, INSERT, DELETE. Anlaşıldığı gibi seçme, ekleme ve silme işlemlerimizi bunlarla yapıcağız. Şimdi hepsi için örnek cümleler yazalım.

Temel SQL Komutları

SQL = "SELECT * FROM Kasa WHERE Yatıran = 'Murat TATAR'" - Bu KOD Kasa isimli tablosan Yatıran'ı Can HANHAN olan herşeyi seçer.

SQL = "INSERT INTO Kasa (Yatıran, Tutar) VALUES ('Murat TATAR', '2milyar')"

Bu kod ise Kasa tablosuna Yatıran kısmı Murat TATAR, Tutar kısmı 2milyar olan bir veri kaydetti.

SQL="DELETE FROM Kasa WHERE Yatıran = 'Murat TATAR'" - Bu ise yatıranı Murat TATAR olanları siler.

Etiketler: , Yorum yok
15Nis/110

ADO Connection Nesnesini Açmak

ADO Connection Nesnesini Açmak

Bir connection nesnesi yaratmak, kendiliginden herhangi bir veri tabanıyla iletişimi açmaz; bunun için connection nesnesinin Aç yöntemini çagırmalısınız. bunu örnek verelim; connection.Open ConnectionString. UserID. Password

Not : Veritabanı açmak oturum açma güvenligi gerektirmiyorsa ya da bu bilgiyi connectionString bagımsız degişkeniyle saglamayı seçerseniz, UserId ve Password degişkenlerini atlaya bilirsiniz

15Nis/110

ADO Sabitleri

ADO Sabitleri

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ı (bu kitapçığın kodları arasında bulunan) Microsoft'un ADOVBS (adovbs.inc) dosyasıdır. (Aynı dosyanın JavaScript sürümü ise adojavs.inc ardını taşır). Bu dosyadan yararlanabilmek için, sitenize kopyalamanız ve daha sonra sayfalarınıza şu kodu eklemeniz gerekir:

 

Bu dosya, Server tarafından icra edilir ve ADO nesnesinin sayı halindeki bütün argümanlarını anlaşılabilir İngilizce kelimelere çevirir. Bu dosyanın içeriğinden nasıl yararlanacağımızı ele alacağız.

Bir veriye bağlantıyı kurduktan sonra kayit dizimizi .Recordset metodu ile sağlayacaksak, yukarıdaki örnek kodumuzu şöyle yazmak gerekir:
Dim Veriyolu, Kayitdizisi, Sorgu
Set Veriyolu = Server.CreateObject("ADODB.Connection")
Veriyolu.Open "Veri_adi"
Set Kayitdizisi = Server.CreateObject("ADODB.Recordset")
Sorgu = "SELECT * FROM Veri_adi"
Kayitdizisi.Open Sorgu, Veriyolu, aOpenStatic
%>

Bu kod ile, .Recordset metodu son .Open komutu ile bizim için veri bağlantısını sağlar; verdiğimiz SQL Sorgusu icra edilir ve kayıt diziniz Kayitdizisi'ne kaydedilmeye hazır hale gelir. Şimdi imlecinizi ilerleterek, veriyi fiilen okutmanız gerekir; ki bunu yapmak için yukarıda kolayca .Execute metodu ile oluşturduğumuz kayıt dizisinde kullandığımız basit .Movenext'ten daha çok imkana sahibiz: MoveFirst: Kayıt dizisinin (Recordset'in) birinci satına gider.

MoveLast: Kayıt dizisinin (Recordset'in) son satına gider.

Movenext: Kayıt dizisinin (Recordset'in) bir sonraki satına gider.

MovePrevious: Kayıt dizisinin (Recordset'in) bir önceki satına gider.

Move: Kayıt dizisinin (Recordset'in) içinde vereceğiniz sayıya göre ilerler. Bunun için iki sayı vermeniz gerekir: başlangıç noktası ve ilerlenecek kayıt sayısı.

15Nis/110

Ado Recordset Open

Ado Recordset Open

Veritabanına dayanan Web uygulamalarımızda sorun buradaki gibi sadece veriyi okumakla bitmeyebilir; veriyi güncelleştirmek veya silmek isteyebiliriz. Bunun için doğruca ADO'nun .Recordset metodundan yararlanmamız gerekir.

Bir veriye bağlantıyı kurduktan sonra kayit dizimizi .Recordset metodu ile sağlayacaksak, yukarıdaki örnek kodumuzu şöyle yazmak gerekir:
Dim Veriyolu, Kayitdizisi, Sorgu
Set Veriyolu = Server.CreateObject("ADODB.Connection")
Veriyolu.Open "uyeler"
Set Kayitdizisi = Server.CreateObject("ADODB.Recordset")
Sorgu = "SELECT * FROM table1"
Kayitdizisi.Open Sorgu, Veriyolu, aOpenStatic
%>
Dns Siz bağlantı
VT.Open "DBQ=" & Server.MapPath(" uyeler.mdb" ) & ";DRIVER={Microsoft Access Driver (*.mdb)}"
%>

Burada, DNS'siz bağlantı için veritabanı dosyasının Server'daki göreli yerini, adını ve hangi sürücünün kullanılacağını belirtiyoruz.
Set KS = Server.CreateObject ("ADODB.RecordSet" )
Sql = " Select * from table1 "
KS.Open sql,VT,1,3
%>

Burada da recordset’ i tanımladık ve sql ile tamınlanan sorguda da table1 verileri cagırıyoruz.

15Nis/110

Ado Nesnesi Yaratmak

Ado Nesnesi Yaratmak

ADO Connection nesnelerini yaratmak kolaydır çünkü belirtilmesi gereken seçenekler yoktur.Aşagıdaki örnek işinizi helleder. Degiştirilmesi gereken tek şey ortaya çıkan nesnedir "bag".

set bag = Server.CreateObject("ADOB.Connection")

ADO Nesnesini yaratmanın başka yollarıda vardır mesala;

Dim bag as New ADODB.Connection

Her ikiside ADO Connection nesnesi yarata bilir. Ancak VBScript birincisini gerektirir.

15Nis/110

ADO Nesnesini Kapamak

ADO Nesnesini Kapamak

Bir ADO Nesnesini kapatmak, close yöntemini çagırmak dişında hiçbir şey gerektirmemektedir. "Bag" adlı bir connection nesnesini kapatmak için aşagıdaki örnegi yazın.

bag.Close

Bir connection nesnesini kapatmayı unutursanız, ASP komut dosyası işleyişi sonunda bunu bulup, kapata bilir ve bunu bellekten çıkarta bilir en azından plan böyle. Uygulamada, yarattıgınız her nesneyi her zaman kapatır ve serbes bırakırsınız, Web sunucunuz daha dengeli olur.

Bir Connection nesnesini, kapattıktan sonra bile bellekte kalır. "Bag" adlı Connection nesnesini bellekten çıkartmak için aşagıdaki örnegi kullana bilirsiniz.

Set bag = Nothing

NOT

Örneklerde kullandıgım "Bag" nesnesi Değiştirilebilir.

15Nis/110

ADO Kayıt Kümesi Özellikleri

Özellik Açıklama

AbsolutePage Geçerli kaydın bulundugu sayfa numarasını tanımlar.
AbsolutePosition Geçerli kaydın sıradaki konumunu belirler.
Active Command Bir kayıt kümesi nesnesini yaratan komut nesnesini gösterir.
BOF Geçerli kayıt konumunun birinci kayıttan önce geldigini gösterir.
Bokkmark Geçerli kaydı benzersiz biçimde tanımlayan bir deger verir.
EditMode Geçerli kayıtda deişiklik yapılıp yapılmadıgını gösterir.
EOF Geçerli kayıt konumunun son kayıttan yapılıp yapılmadıgını gösterir.
Filter Bir kayıt kümesi nesnesindeki kayıtları seçerek süzer.
Index Bir kayıt kümesi nesnesi içingeçerli etkin dizini tanımlar
MaxRecords Sağlayıcının veri kaynagından döndürdügü kayıt sayısını sınırlar
PageSize Kayıt kümesindeki bir sayfada bulunan kayıt sayısı.
PageCount Bir kayıt kümesindeki kayıt sayısını gösterir.
Source Bir kayıt kümesindeki nesnesindeki verinin kaynagı.
Status Geçerli kaydın toplu güncellemelereya da deger toplu işlemlere göre durumu.

15Nis/110

ADO Kayıt Kümesi Yöntemleri

Yöntem Açıklama

Open Veri saglayıcısından bir sonuç kümesi alır ve erişime hazır duruma getirir.
clone Var olan bir kayıt kümesi nesnesinden bir adaet çagaltır.
Requery Bir kayıt kümesi nesnesindeki bilgiyi güncelleştirir.
Resync Asıl veritabanından alınan kayıt kümesi nesnesindeki bilgiyi yeniler.
nextRecordset Kayıt kümesi nesnesini temizler Sonuç kümesini hazır duruma getirir.
Close Açık bir Kayıt kümesi nesnesini ve varsa bağlı nesneleri kapatır.

Taşıma
Move Gçerli kayıt konumunu belirli sayısı kadar ileri yada geri taşır.
MoveFirst Bir kayot kümesi nesnesindeki birinci kaydı geçerli kayıt yapar.
MoveLast Kayıt kümesi nesnesindeki sonuncu kaıdı geçerli yapar.
Movenext Kayıt kümesi nesnesinde sonraki kaydı geçerli kayıt yapar.
Find Belirtilen bir şartı geçerli kayıt yapar.
Seek Belirtilen bir şartla eşleşen satırı hızla bulmak için bir kayır kümesinin dizinde arama yapar.

Güncelleme
AddNew Alan degeini kabul etmeye hazır yeni boş bir kayıt yaratır.
Update Varsa geçerli kayda yapılan degişiklikleri kabul eder.
CancelUpdate Varsa Yeni bir kayda yapılan degşiklikleri iptal eder.
Delete Geçerli kaydı kada kayıt gurubunu siler.

15Nis/110

ADO Nedir?

ADO (ActiveX Data Objects), Microsoft'un veritabanı uygulamaları için geliştirdiği bir bileşendir. IIS ve PWS ile birlikte otomatik olarak kurulur. Biz ADO'yu ASP sayfalarımızdan veritabanına erişmek ve veritabanı üzerinde işlemler yapmak üzere kullanacağız.

ADO ile veritabanı uygulamaları standart bazı adımları içerir;

• Veritabanı bağlantısının oluşturulması
• Veritabanı başlantısının açılması
• Kayıt dizisinin oluşturulması
• Kayıt dizisinin açılması
• ...Veritabanı ile yapılacak işlemler
• Kayıt dizisinin kapatılması
• Veritabanı bağlantısının kapatılması.

Etiketler: , Yorum yok
14Nis/110

Recordset Kayıt İşlemleri RecordSet.Open

Recordset Kayıt İşlemleri
RecordSet.Open

Veritabanına dayanan Web uygulamalarımızda sadece veriyi okumak değil veriyi güncelleştirmek veya silmek isteyebiliriz. Bunun için doğruca ADO'nun .Recordset metodundan yararlanmamız gerekir. .Recordset metodu ne yapar? Tıpkı ekranınızdaki bir yazının içinde duran imleç (cursor) gibi hayalî bir imleci götürür verilerinizin en başına koyar. Bu hayali imleci veritabanı üzerinde dolaştırmak ve gittiği yerdeki değeri okutmak bizim işimizdir.

.Recordset metodu, ile bir veritabanını okuyacak imleci üç şekilde ayarlayabilirsiniz:

Static (Duragan) SELECT komutu icra edilir ve okunan kayıt arzu ettiğiniz değişkene yazılır. (ADO Sabit Değerleri dosyasınıdan yararlanıyorsak, adOpenStatic)

Forward only (Sadece ilerle) İmleç veritabanı içinde sadece ileri doğru gider ve her seferinde bir kayıt okunur. (Varsayılan imleç türü budur.) (ADO Sabit Değerleri dosyasınıdan yararlanıyorsak, adOpenForwardonly)

Dynamic (Dinamik) Veritabanına ulaşan ve değişiklik yapan başka bir kullanıcı varsa, bu değişiklik size anında yansıtılır. (ADO Sabit Değerleri dosyasınıdan yararlanıyorsak, adOpenDynamic)

Bu yöntemlerden birini seçmekle veriyi belirli bir okuma tarzında açmış olursunuz. Bu yöntemlerden hangisini seçtiğinizi .Recordset metodunu kullanacak olan .Open komutunun argümanı olarak açıkça belirtmeniz gerekir. ADO, bunun için sizden sayılar halinde argümanlar ister.

Öncelik veri tabanımızda uygulamalarına gecmeden once ADO konusunda anlatılan uyeler.mdb (wwwroot dizininde olmalı) dosyası üzerinden açıklamalar yapılacagını bildirmek isterim.

Ayrıca NT işletim sistemi kullanıyorsanız wwwroot klasörünün ve uyeler.mdb dosyasının güvenlik özelliklerini düzenlemeniz gerekir Örneklerin düzgün çalışabilmesi için.

Copy Protected by Chetan's WP-Copyprotect.