Ders
7: Veri Tabanı İşlemleri
Amaçlar:
I.
ADO Veri Erişim Yöntemi Visual
Basic uygulamalarına baktığınızda çoğunun veritabanı uygulaması olduğunu
görürsünüz. Bu nedenle Visual Basic 6.0 ile veritabanı uygulaması geliştirmek
için çok sayıda yenilikler yapılmıştır. Bu yeniliklerin başında yeni
veri erişim yöntemi ADO (ActiveX Data Objects) gelir. NOT:
ADO ve Visual Basic, Microsoft firmasının tescilli markasıdır. Şekil:
ADO ve veri erişim nesnelerinin karşılaştırılması ![]() NOT:
ADO konusunda ayrıca sitemizin ASP kursuna bakınız. A.
ADO'yu Kullanmak ADO
nesnelerini kullanmadan önce, diğer bir deyişle programınızda ADO kullanarak
veritabanı işlemlerini yapmadan önce ADO nesnelerini ve referanslarını
Visual Basic ortamına eklemeniz gerekir.
İPUCU:
ADO versiyonları ve Visual Basic Service Pack'leri konusunda daha geniş
bir araştırma yapınız.www.microsoft.com
Ardından
ADO DC üzerinde sağ tıklayarak elde ettiğiniz iletişim kutusunda veritabanı
erişiminin birçok işlemini yapabilirsiniz. Geriye bir tek şey kalır,
o da verileri görüntüleyecek olan DataGrid'in DataSource özelliğini
ADODC olarak düzenlemek. 1.
Form Üzerindeki Kontrolleri ADO Data Control'e Bağlamak ADO Control
aracılığıyla veri kaynağı ile bağlantı kurulduktan sonra, TextBox, ComboBox,
ListBox, Grid gibi kontrollerle birlikte kullanılabilir.
Bir
kontrolün tasarım zamanında ADODC'e bağlanması için DataSource
özelliğinin düzenlenmesi gerekir. Yine aynı şekilde bu işlemler çalışma
zamanında da yapılabilir. Kullanılan kontrole göre kullanılan özellikler
değişir. Örneğin bir TextBox kontrolünü ADODC ile ilişkilendirerek veri
alışverişi yapmasını istersek DataField özelliği kullanılır:
Text1.DataField
= "ADI " Aşağıdaki
örnekte DataGrid kontrolü ile Access veritabanındaki veriler bir gride
bağlanır. Bu
işlem için:
Private
Sub Command1_Click() B. ADO Nesneleri ADO
veri erişim sistemi oldukça basit bir nesne modeline sahiptir. Bu modelde
birçok nesne seçimli olarak (birlikte) ya da bağımsız olarak kullanılabilir. Şekil:
ADO Nesneleri
Örneğin
bir Access veritabanına bağlantı kurmak için şu nesneler kullanılır:
Connection:
MUSTERI.MDB Aşağıdaki
örnekte sadece Recordset nesnesi ile bir Microsoft Access veritabanına
erişilmektedir: Dim
rst As New ADODB.Recordset NOT:
Yukarıdaki kodda yer alan DSN tanımlaması işletim sistemi tarafından
yaratılabilir. Control Panel'de ODBC tanımlamalarına bakınız. 1.
RecordSet Nesnesinin Kullanımı Aşağıdaki
örnekte bir Recordset nesnesi ile Access veritabanındaki veriler DataGrid
üzerinde gösterilmektedir:
Dim
rst As New ADODB.Recordset 2.
Connection Nesnesi Connection
nesnesi bir veri kaynağına bağlantı kurmak için kullanılır. Connection
nesnesi sayesinde bir data provider aracılığıyla (OLE DB) bir komut
işletilir.
Connection
nesnesi ile ConnectionString özelliği kullanılır. Bu özellik bağlanılacak
veri kaynağını gösterir. Open metodu ise bağlantıyı açmak için kullanılır.
Dim
cnn As New ADODB.Connection 3.
Command Nesnesi Command nesnesi
bir bağlantı üzerinde işletilecek özel bir query ya da komut yaratmak
için kullanılır. Command nesnesinin ana amacı stored procedure'ların
ve parametreli komutların çalıştırılmasını sağlamaktır. Bir komut nesnesi
bir bağlantı üzerinde bağımsız olarak yaratılır ve işletilmeden önce
veri kaynağına bağlı olan aktif connection ile ilişkilendirilir.
Bir
komut herhangi bir recordset döndürmeden de kullanılabilir. Örneğin
aşağıdaki program parçasında bir UPDATE komutu veritabanı üzerinde
işletilmektedir. Dim
cnn As New ADODB.Connection 4.
Recordset Nesnesi Recordset
nesnesi ADO içinde en çok kullanılan nesnedir. Recordset nesnesi veri
kaynağından gelen verileri içerir. Bir komut ya da query çalıştırıldığında
elde edilen kayıtları recordset nesnesi içerir.
Recordset
nesneleri genellikle aktif connection ve command ile oluşturulur. Bunun
dışında Recordset nesneleri bağımsız olarak da kullanılabilir. Örnek:
Recordset tanımlaması Dim
rst As New ADODB.Recordset Örnek:
Bir recordset'in DataGrid üzerinde gösterilmesi Dim
cnn As New ADODB.Connection II. Gözden Geçirme 1.
Recordset nedir? III.
Visual Basic Uygulamas ER-FA
ecza deposu bin kadar üyesine ilaç toptan ilaç pazarlamak üzere kurulmuştur.
ER-FA ecza ilaç siparişlerini takip etmek için bir Visual Basic uygulaması
geliştirmek istemektedir. Yapılacak
ana işlemler:
Yapılacak
işlemlerin ayrıntıları:
Sipariş sisteminin yanı sıra bir süre sonra ER-FA ecza deposu müşterileri
için bir anket yapmaya karar vermiştir. Anketler de veritabanına bir
metin bilgisi olarak eklenecektir. Bu koşullar altında; tabloları ve
kayıtların birbiriyle bütünlüğün sağlayacak olan olası ilişkileri tanımlayın. Bilgiler:
Notlar:
1. Veritabanını Yaratın ve Tabloları Tasarlayın. Yukarıdaki
bilgiler temelinde SIPARIS-TAKIP veritabanını yaratın. Ardından tabloları
tasarlayın.
2.
İlişkileri Kurun Kodu alanları
PK olduktan sonra ilgili tablolar arasındaki ilişkileri kurun.
Müşteri-Sipariş 3. Örnek veriler girin: Test amaçlı
örnek veri girin.
4.
Ana Menü Yapın Programın
veri giriş kartlarına yönlenmesini sağlayacak ve ilk olarak çalıştırılacak
bir ana menü formu hazırlayın.
Yapılacaklar:
5.
Veri Giriş Formları Yukarıdaki
tablolara veri girişi için Visual Basic formları hazırlayın. Yapılacaklar:
Yapılacaklar
(öneriler)
Ardından üzerine
tıklayarak ona ulaşmaya çalışın.
NOT:
Veri girişi için form üzerinde metin kutuları (text box) ve gridler
kullanın. 6.
İstenen Sorgular/Raporlar:
|