mehmetduran.com - Paylaşmak Güzeldir...
Asp'de Veritabanı Uygulamalarında RecordSet Kavramı
Bu yazımda da yine okulda almış olduğum İnternet Programlama dersinde görmüş olduğumuz Asp ile veritabanı uygulamalarında RecordSet kavramından bahsedeceğim. Bundan önceki yazımda Asp ile veritabanı uygulamalarını ele almıştım. Şimdi ise o yazının devamı olarak bu yazıyı yazıyorum. Yine bu bilgileri de hocamızın vermiş olduğu ders notlarından aktarıyorum.

RecordSet (Kayıt Dizisi) Nesnesi
Veritabanına kayıt yazmaya ve çekilen kayıtlar üzerinde hareket etmeye yarayan temel ADO nesnesidir.

Kullanımı:

Set rsObj = Server.CreateObject("ADODB.Recordset")

Metodları:

. AddNew (yeni kayıt satırı açar): recordset.AddNew Alanlar, Değerler
. CancelUpdate (güncelleme işlemini iptal eder): recordset.CancelUpdate
. Close (kayıt dizisi nesnesini kapatır): object.Close
. Delete (kayıt siler): recordset.Delete EtkilenecekKayitlar
. GetRows (kayıtları diziye çeker): Dizi = recordset.GetRows(Satir, Baslangic,Alanlar)
. Move (belirtilen kayda konumlanır): recordset.Move KayitSayisi, Baslangic
. MoveFirst (ilk kayda konumlanır): recordset.MoveFirst
. MoveLast (son kayda konumlanır): recordset.MoveLast
. MovePrevious (önceki kayda konumlanır): recordset.MovePrevious
. MoveNext (sonraki kayda konumlanır): recordset.MoveNext
. Open (kayıt dizisi açar): Source, ActiveConnection, CursorType, LockType,Options recordset.Open
. Requery (kayıt dizisini yeniden sorgular): recordset.Requery
. Update (kayıt dizisini günceller): recordset.Update Alanlar, Degerler
. Supports (kayıt dizisinin desteklediği seçenekler): they boolean = recordset.Supports(İmleçSeçenekleri)

Özellikleri:

. AbsolutePage,
. AbsolutePosition,
. ActiveConnection,
. BOF,
. Bookmark,
. CacheSize,
. CursorLocation,
. CursorType,
. EditMode,
. EOF,
. Filter,
. LockType,
. MarshalOptions,
. MaxRecords,
. PageCount,
. PageSize,
. RecordCount,
. Source,
. State,
. Status

Recorset.Open Metodu
Open metodu ile kayıt dizisini belirli bir okuma yöntemiyle açmış oluruz. Yöntemlerden hangisini seçtiğimizi ise Recordset metodunu kullanacak olan .Open komutunun parametresi olarak açıkça belirtmemiz gerekir. ADO, bunun için bizden sayılar ya da metinler halinde parametreler ister. Örnek olarak;
<%
Dim connObj,SQL,connStr,rsObj
Set connObj=Server.CreateObject("ADODB.Connection")
connStr="Driver={Microsoft Access Driver (*.mdb)};"
connStr=connStr&"DBQ="&Server.MapPath("ornek_vt.mdb")
connObj.ConnectionString=connStr
SQL="SELECT * FROM TbOgrenci"
connObj.Open
Set rsObj = Server.CreateObject("ADODB.Recordset")
rsObj.Open SQL,connObj,adOpenStatic,3
%>


Recorset.Update

Veritabanından aldığımız değerleri, kimi zaman ziyaretçinin vereceği değerlerle veya ziyaretçinin bir takım tercihleri sonucu güncelleştirmemiz gerekir. Bu işlem, Recordset nesnesinin. Update metodu ile kolayca yapılabilir.
Tabii bir veritabanını güncelleştirmek için imleci veritabanında doğru kaydın üzerine götürmek ve bu arada Recordset'in bize sağladığı mevcut verilerin yerine yeni değerleri atamış olmak gerekir. Bunu sağladıktan sonra bütün yapacağımız şey. Update metodunu kullanmak ibarettir:
rsObj("Adi") = "Ahmet"
rsObj ("Soyadi") "YOLCU"
rsObj.Update
Bu komut, imleç o sırada hangi kaydın üzerinde ise o kaydın "Adi" ve "Soyadi" alanlarındaki veriyi "Ahmet" ve "YOLCU" haline getirir. Bu metodu kullanırken bir kaydın bütün alanlarını güncelleştirmemiz veya güncelleştirilmeyen alanları eski değerleri ile tekrar etmemiz gerekmez.

Recorset.AddNew
Bir veritabanına yeni kayıt eklemek istediğimizde, Recordset'in .AddNew (yeni ekle) metodundan yararlanırız. Bu metodun özelliği, bizim imleci veritabanı içinde bir yere götürme zorunluluğumuzun olmamasıdır. Bu metod kendiliğinden imleci dosyanın en son satırının altına götürür. .AddNew metodu bir veritabanı dosyasına kayıt eklerken, veritabanında mevcut bütün alanlar için değer vermenizi isteyecektir.
<%
rsObj.AddNew
rsObj ("Adi") = "Ahmet"
rsObj ("Soyadı") "YOLCU"
rsObj.Update
%>

Veritabanına yeni kaydı, .AddNew metodunun yaptığına dikkat edin.

Recorset.Delete

İmleci, silinecek kaydın üzerine götürdükten sonra, Recordset'in , .Delete metodunu çağırarak o andaki kayıt silinir. Bu metod, bir kaydı bütün alanlarındaki değerlerle birlikte (yani veritabanının bir satırını tümüyle) siler.
rsObj.Delete
rsObj.Close

Open metodu ile açtığımız kayıt setini Close metodu ile kapatırız. Açılan bir recordset'in kapatılmaması her ne kadar hata üretmese de, close metodu ile kapama işlemini yapılması en doğru yoldur.
rsObj.Close

Recordset.MoveFirst: Kayıt dizisinin (Recordset'in) birinci satırına gider.
Recordset.MoveLast: Kayıt dizisinin (Recordset'in) son satırına gider.
Recordset.MoveNext: Kayıt dizisinin (Recordset'in) bir sonraki satırına gider.
Recordset.MovePrevious: Kayıt dizisinin (Recordset'in) bir önceki satırına gider.
Recordset.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 İlerlenecek kayıt sayısı.

İyi Çalışmalar!
Mehmet Duran 18 Kasım Salı 2008 3 15851 5,0
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Geliştirdiğim Uygulamalar Bölümü Jquery ile Değişir Alan Yapma Asp.net ile Dinamik Kontrol Oluşturma ve Değerlerini Alma C Sharp'ta Switch-Case Kullanımı Silverlight'a Giriş - Başlangıç
Yorumlar
Yorum Yaz
RSS Yorum Takibi
akif 09 Nisan Perşembe 2009 19:51 #1
başarılarınızın devamını dilerim.. Siteniz çok güzel ...
Özge 30 Mart Çarşamba 2011 15:44 #2
Çoook teşekkürler sınavıma yardımcı oluyor. Başarılarınızın devammını diliyorum.
Fatih 14 Nisan Perşembe 2011 13:39 #3
hocam bir numarasın çok işime yaradı
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Hizmet amaçlı işler başarıya, kar amaçlı olanlar ise başarısızlığa yöneliktir.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009