.Net ile MySQL bağlantısı ve kullanımı

  • 12.23.2016
  • tayyipyetis
  • MySQL

mysqlMerhaba, bu derste .Net teknolojisi ile MySQL kullanımına değineceğiz. Adında bile .Net karşıtı bir hava olan MySQL en iyi ve pratik olarak PHP ile kullanılıyor. PHP''de sadece bir kaç satır kod ile kolayca bağlantı sağlanırken yapısı gereği Anti-.Net bir teknoloji olan MySQL Microsoft sistemlerinde ekstra bileşenlere ihtiyaç duyuyor Bu adresten çeşitli platformlar için(C, C++, Java, Python, .Net) MySQL connector bileşenlerini indirebilirsiniz. Bu proje için .net connector indirmeniz gerekiyor. Şu anki sürüm 6.9.5 fakat bu sürüm ile çoğu hoşting firmasında trust level güvenlik duvarını geçemeyebilirsinizmedium level güvenlik seviyesi için 5.2.7 ve önceki sürümleri kullanabilirsiniz. şimdi bu uygulamayı(MySql Connector) indirdikten sonra bilgisayarınıza kurun. kurulum bittikten sonra VStudio''da projenize Add Reference menüsünden mysql.data dll dosyasını projenize ekleyin

İmports MySql.Data
İmports MySql.Data.MySqlÇlient

Dim bağlantı Aş New MySqlConnection("Server=myServerAddress;Database=myDataBase;Uıd=myUsername;Pwd=myPassword;")
bağlantı.Open()

''Connectionbuilder kullanarak bağlanma
Dım baglantı As New MySqlConnection()
Dim builder As New MySqlConnectionStringBuilder
builder.Server = "myServerAddress"
builder.Database = "myDataBase"
builder.UserİD = "myUsername"
builder.Password = "myPassword"
bağlantı.ConnectionString = builder.ToString
bağlantı.Open()
bağlantı.Close()

ilk satırda MySqlConnection class''ını tanımlayarak bağlantı nesnemizi oluşturuyoruz. bu nesne ile mysql server ile client arasında bir bağlantı kurulması sağlanıyor açıklamada yazdığı gibi ilk tanımlamada class ölültürülürken parametre olarak ConnectionString veriliyor diğer bir yöntem ise ConnectionBuilder nesnesini kullanarak otomatik ConnectionString oluşturmak.diğer ConnectionString türleriden bazıları ise şöyle;<ül>

  • Standart : Server=myServerAddress;Database=myDataBase;Uıd=myUsername;Pwd=myPassword
  • Specifying TÇP port : Server=myServerAddress;Port=1234;Database=myDataBase;Uıd=myUsername;Pwd=myPassword;
  • Multiple servers    : Server=serverAddress1,serverAddress2;Database=myDataBase;Uıd=myUsername;Pwd=myPassword;
  • Connection Pool size: Server=myServerAddress;Database=myDataBase;Uıd=myUsername;Pwd=myPassword;MinimumPoolSize=10;maximumpoolsize=50;
Bu işlemin ardından nesnenin Öpen() fonksiyonu ile bağlantımızı açıyoruz. bundan sonra ise eğer veritabanında bir sorgu çalıştırmak için(İNSERT, UPDATE, DELETE vb.) aşağıdaki gibi bir yapı kullanılabilir. Buradaki önemli nokta MysqlCommand nesnesi. connection property değişkenine önceden oluşturduğunuz connection nesnesini atayın. commandText ise çalıştırmak istediğiniz komutu yazıncmd.ExecuteNonQuery() fonksiyonu bir komutu çalıştırıp geriye etkilenen satır sayısını döndürür. cmd.ExecuteScalar() fonksiyonu bir değişkene atanmak üzere tek bir hücrelik veri çeker. örnek sql cümlesi şöyle olabilir ''SELECT perAdı FROM personeller WHERE İD=5'' cmd.ExecuteReader() fonksiyonu ise verilerin satır satır okunmasını sağlar. kullanımı için Bu adrese bakabilirsiniz
Dim bağlantı Aş New MySqlConnection("Server=myServerAddress;Database=myDataBase;Uıd=myUsername;Pwd=myPassword;")
bağlantı.Open()

Dim cmd Aş New MySqlCommand
cmd.Connection = bağlantı
cmd.CommandText = "İNSERT İNTO personel(İD, adı, soyadı, tel) VALUES(1, ''ahmet'', ''yılmaz'', ''12345'')"
cmd.ExecuteNonQuery()''cmd.ExecuteScalar()''
cmd.ExecuteReader
bağlantı.Close()

Veritabanından bir tablo çekmek için aşağıdaki kod yapısı kullanılmalı. Burdaki önemli nokta ise MySqlDataAdapter nesnesi. bu nesne veritabanından verileri bir kereye mahsus (o komut için) çekip RAM içine atar bunun avantajı ise verilere daha hızlı ulaşıp üzerinde daha olay işlem yapılıyor olmasını sağlamasıdır. bu şekilde olmasaydı verileri sürekli veritabanından çekip işlemek zorunda olacaktıkbu işe yoğun kaynak ve zaman kullanımına sebep olacaktı. verilerimizi aşağıdaki gibi çektikten sonra ise MySqlDataAdapter nesnesinin Fill() fonksiyonu ile parametre olarak verilen DataTable nesnesinin içine veriler doldurulur. bu işlemden sonra verilerinizi istedigniz şekilde kullanabilirsiniz ister LİNQ kullarak sorgulama yapın ister DataReader ile arama yapın isterseniz bir DataĞrıdView içine doldurun

Dim bağlantı Aş New MySqlConnection("Server=myServerAddress;Database=myDataBase;Uıd=myUsername;Pwd=myPassword;")
bağlantı.Open()

Dim adapt Aş New MySqlDataAdapter("SELECT * FROM personeller", bağlantı)

Dim dt Aş New DataTable
adapt.Fill(dt)
bağlantı.Close()

Bu kodlar ile projenizde MySql veritabanı üzerinde veri ekleme, silme, güncelleme ve tablo yada hücre çekme işlemlerini yapabilirsiniz. tabii ki kodların syntax''i değişiklik gösterebilir biz en kısa ve pratik olarak anlatmaya çalıştık. bunun dışında onlarca farklı fonksiyon ve özellikle daha gelişmiş veritabanı uygulamaları yazabilirsiniz. Şimdilik bizden bu kadar Soru, istek, ve önerilerinizi İletişim sayfasından bana ulaştırabilirsiniz

Esen kalın, başarılar...

Mustafa Tayyip Yetiş
Yazılım Geliştirme Uzmanı

Yorum Yap