soyluhack
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Visual Basic ve .net2005 veritabanı karşılaştırma

Aşağa gitmek

Visual Basic ve .net2005 veritabanı karşılaştırma Empty Visual Basic ve .net2005 veritabanı karşılaştırma

Mesaj tarafından ufukkucukcavus Perş. Mayıs 01, 2008 11:15 am

Visual Basic .NET’in, Visual Basic 6.0’ın Data gibi bir kontrolü yoktur. Data kontrolü sayesinde yerel bilgisayardaki Access dosyaları üzerinde kolayca işlem yapılabiliniyordu. Visual Basic 6.0 ile birlikte ADO veri erişim tekniği kullanıma sunulmuştu. Bu bölümde Visual Basic 6.0’da kullanılan ADO sürümü ile veritabanları üzerinde nasıl işlem yapıldığını kısaca anlatacağım.

Visual Basic 6.0 ile gelen ADO veri erişim tekniğini kullanabilmek için ADO(ActiveX Data Object)’yu temsil eden library’nin projeye dahil edilmesi gerekir. Üzerinde çalıştığınız projeye bir library veya bileşeni dahil etmek istiyorsanız Solution Explorer penceresinden yararlanmanız gerekir. Solution Explorer penceresinde References seçeneğine ait kısayol menüsünden Add Reference komutu verilirse ekrana Add Rerefence diyalog kutusu gelir.

Add References diyalog kutusunda Microsoft ActiveX Data Objects 2.7 Library seçilip Select düğmesi ile diyalog kutusunun alt kısmına kopyalandıktan sonra OK düğmesi tıklanır.

Eski ADO’yu üzerinde çalıştığım projeye dahil ettikten sonra formun Code penceresine geçip Declarations kısmında Dim deyimi ile Connection tipinde bir değişken tanımladım. Connection tipi ADODB’de tanımlıdır.

Dim Baglanti As New ADODB.Connection()

Connecton nesnesi için bu şekilde değişken tanımladıktan sonra Recordset nesnesi saye¬sinde kayıt tipinde bir değişken tanımladım. ADO.NET’te RecordSet yerine Dataset nesnesi kullanılmaktadır.

Dim Baglanti As New ADODB.Connection()
Dim Kayit_set As New ADODB.RecordSet()

Bu şekilde Connection ve Recordset nesnesi tanımladıktan sonra Form1_Load() yordamına aşağıda verdiğim 2 satırı yazarak proje çalıştırıldığında bağlantının kurulup Recordset nesnesinin açılmasını sağladım. Connection nesnesi Open() metodu ile açılırken ilk parametre ile Provider’ı belirttim. Visual Basic 6.0 ile birlikte verilen ADO sürümünde daha çok Microsoft Jet veritabanı motoru kullanılıyordu.

Baglanti.Open("PROVIDER= Microsoft.Jet.OLEDB.4.0;Data Source=C:\Dosyalar\Stok.mdb;")
Kayit_set.Open("SELECT * FROM Stok_kartlari", Baglanti, _
ADODB.CursorTypeEnum.adOpenDynamic, _
ADODB.LockTypeEnum.adLockOptimistic)

Connection nesnesini açarken kullanılan Open() metoduna 2. parametre(Data Source) olarak üzerinde işlem yapmak istediğim “Stok.mdb” dosyasını verdim. Bu yordamdaki 2. satırda “Kayit_set” adını vermiş olduğum RecordSet nesnesini Open() metodu ile açarken önce üzerinde işlem yapmak istediğim tabloyu ve alanlarını SELECT deyimi ile belirttim. RecordSet nesnesi açılırken Open() metoduna 2. parametre olarak kullanılacak Connection nesnesi(burada “Baglanti”) verilmelidir.

Bu işlemden sonra Recordset nesnesinden yararlanıp istenen işlem yapılabilir. Proje çalıştırılıp form ekrana getirildiğinde (Form1_Load() yordamı işletildiğinde) tablodaki ilk kaydın içeriğini formun üzerinde görüntüleyebilmek için forma metin kutuları yerleştirdim.

Projede çalıştırıldığında ilgili tablonun(burada “Kartlar”) ilk kaydının içeriğinin metin kutularına yazılmasını sağlamak için Form_Load() yordamına aşağıda verdiğim satırları ekledim.

TextBox1.Text = Kayit_set.Fields("Stok_kodu").Value
TextBox2.Text = Kayit_set.Fields("Stok_adi").Value
TextBox3.Text = Kayit_set.Fields("Birim").Value
TextBox4.Text = Kayit_set.Fields("Fiyat").Value
TextBox5.Text = Kayit_set.Fields("Miktar").Value

Bu satırlardaki “Kayit_set”, yukarıda tanımlayıp Open() metodu ile açmış olduğum RecordSet nesnesidir. Bu satırlarda kullanılan Fields nesnesi dizi değişken gibi çalışmaktadır. Kendisine hangi alanın adı parametre olarak verildiğinde o alan ile ilgili bütün bilgilere ulaşılabilinmektedir.

ufukkucukcavus
Admin

Mesaj Sayısı : 780
Kayıt tarihi : 30/04/08
Yaş : 32
Nerden : Regedit

https://soyluhack.yetkin-forum.com

Sayfa başına dön Aşağa gitmek

Sayfa başına dön

- Similar topics

 
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz