3 Haziran 2019 Pazartesi

C Sharp MySql Database Class

C Sharp MySql Database Class

Merhaba arkadaşlar. Bu aralar c# ile bir proje üzerinde çalışma imkanına kavuştum. Proje içinde mysql sunucusu ile çalışma imkanına kavuştum. Proje büyükçe, ve sorgulamalar karmaşıklaştıkça kod yazmaya çalışmak işkence halini alıyor. Ne olur ne olmaz diyerek SQL sorgulamalarını yapabileceğim küçük çapta bir class yazmak istedim. Ortayada böyle birşey çıktı 🙂 Nette c# ve MYSQL ile alakalı birçok site gezdim. Benzer birşeye rast gelmek istedim, gelemedim. iş başa düştü.Burada anlatacağım konuyu,araştırmaya başladığım andan bu yana olan konuyu kapsayacak şekilde en başından itibaren anlatmayı uygun gördüm.
Öncelikle bilgisayarda mysql sunucusunun bulunması gerekmektedir. Bunun için buradan içinde (Apache+mysql+ Php) yüklü olduğu wampserver adlı programı indiririp,bilgisayarımıza kuruyoruz.
Ardından MySql ile .net in birbiri ile aynı dili konuşmasını sağlayacak connector dosyasını şuradan indirip bilgisayarımıza kuruyoruz. Connectoru kurduktan sonra yeni proje açıyoruz.Proje açıldıktan sonra Visual Studio da Project>Add Reference dan “Browse” Kısmına geçip, Mysql.Data.dll dosyasını ekliyoruz.(Yol C:Program FilesMySQLMySQL Connector Net 6.2.2Assemblies büyk ihtimal bu dizinin içerisinde olacaktir.Eğer connectoru farklı bir dizine kurduysanız,o dizinde dosyayı aramanız mantıklı olacaktır.)
Bu işlemi de yaptıktan sonra proje dosyamıza mysql kütüphane dosyalarını eklemekle devam edebiliriz.
Mysql fonksiyonlarını kullanmamazı sağlamak amacıyla…
using MySql.Data;
using MySql.Data.MySqlClient;
Eğer formla ilgili işlem yapacaksanız. Aşağıdaki satırı projenize dahil etmeniz yeterli olacaktır.
using System.Windows.Forms;
Şimdi Mysql ile kod çalışmaya başlayabilir. Sorgulama işlemlerimizi gerçekleştirebiliriz. Aşağıda yazılmış olan class dosyası bulunmaktadir. Bu class dosyasını projenize dahil etmek için Projeye tıklayıp, Add New Item seçeneği seçilmelidir. Class dosyasını kopyalayıp, açılan class dosyasının içeriğini silip,buraya yapıştırıyoruz. Class dosyasını dahil ettikten sonra namespace ismini kendi projenizin namespace ismiyle değiştirmeniz gerekmektedirler. Bu çook önemli.
Class dosyasının docx şeklindeki halini indirmek için
tıklayınız. Dosyanın içerigini aldıktan sonra içeriği alıp yukarıda anlattıığım gibi işlemlerinizi gerçekleştirin. Ardından asıl projenizi yazacağınız form ekranına gelin. Class içinde db de insert,delete,update ve select işlemlerinizi gerçekleştirebilirsiniz.
Aşağıdaki örnekte kayit işlemiyle ilgili bir kod parçası görülmektedir. Peki bu kod parçası ne işe yarıyor ?

Şimdi öncelikle yapmanız gerekenlerden en önemlisi class dosyası içindeki sunucuya bağlanmak için gerekli
argümanları girmeniz gerekmektedir. Nedir peki bunlar ❓
ServerName şu an bilgisayarımda Mysql sunucusunu barındırdığım için, localhost yazıyorum. Eğer wamp kurulumunu gerçekleştirdiyseniz, sizinde “localhost” yazmanız gerekir 🙂
Ardından kullandığınız sunucudaki database ismini, kullanıcı adi ve şifrenizi doğru bir şekilde girin 😉Class dosyasında yapacağımız işlemler bununla sınırlı 🙂
Şimdi kod bloğuna dönecek olursak;
Öncelikle string tipinde sql değişkeni tanımlanmıştır. Bu nesnemizin bize döndereceği sql komutunu tutmamıza yarayacaktir. Ardından class dosyasının adını kullanarak “db” adında bir nesne oluşturuyoruz.
Mysql db=new MySql();
Ardından nesneyi kullanarak bağlantı kurmamızı sağlayan db_connect() fonksiyonunu çağırıyoruz.
db.db_connect();
Şimdi önemli olan kısma geliyoruz. insert_values fonksiyonu tablonuzdaki her alan için veri girmenizi sağlar. Örneğin;
db.insert_values(“kodu”,kodu.Text);
Tabloda bulunan kodu alanına Form da bir textin içeriğinde bulunan bilgiyi atamaktadir. 😉 Bu şekilde satırlarımızı
eklediğimizi düşünelim. Ardından
sql=db.sql_insert(“stok”);
satırıyla fonksiyona tablo ismimizi gönderdik. Ve bunun sonucunda oluşan sql cümleciğini yukarıda tanımladığımız sql değişkenine atadık. Şimdi ise sorgulama işlemimizi gerçekleştiriyoruz. İf içindeki db.sql_query(sql) ile sorgulama işlemimizi tamamladık, sonrasında (1 ise sorgu çalışmıştır) ise işlemi yapıp yapmadığına dair bir mesaj aldık
if (db.sql_query(sql) == 1)
{
MessageBox.Show(“Kayıt işlemi başarıyla tamamlandı.”, “Uyarı”, MessageBoxButtons.OK,MessageBox
Icon.Information);
}
Kaydetme için işlemler bu kadar 🙂 Şimdi SELCT ve UPDATE işlemleri için aşagıdaki kod parçalarını incelemenizi istiyorum 

şimdi update işlemi için aşağıdaki kodun çalışmasını açıklamaya çalışalım.Öncelikle bir nesne oluşturup db ye nasıl bağlanacağını az önceki örneğimizde açıklamıştık. Devam edecek olursak 4. satırdaki kodumuzu açıklayalım.
dbSilStok.update_values(“stok_durum”,”0″);
Bu satırı tıplı kayit işlemindeki insert_values() değerleri için nasıl çoğalttıysak bunun içinde çoğaltabiliriz.Burada sadece tablodaki stok_durum alanı güncellenmek istenmektedir.
sql=dbSilStok.sql_update(“stok”,”kodu='” + kodu.Text +”‘”);
Yukarıdaki satirla birlikte string olarak tanımlanmış sql değişkenine sorgu atanır. stok tablo ismi,diğer kısım ise şarta bağlı olarka değiştirilmek istenen kısımdır.if içindeki fonksiyona sql değişkenini gönderip sorgulama yapmak istediğimizde işlem tamamlanmış olacaktır.
Aşağıda küçük bir kaydetme uygulaması mevcut. Bu uygulamayı bilgisayarınıza indirin. Connectoru ve wamp serverı yukarıda anlatıldığı gibi yükleyin. Klasor içindeki sql dosyasını sol alt köşede çalışan wamp iconuna sol tıklayarak, phpmyadmin seçeneğini çalıştırın. Ve gelen pencereden içeriği aktar seçeneğini seçin. Dosyayı seçtikten sonra Git düğmesine basın. Database oluşmuş olacaktır. Sonra uygulamayı çalıştırın. Eğer connector ile ilgili bir hata çıkarsa, MysqlData.dll dosyasını önce reference den silip sonra tekrar ekleyin. Uygulamayı çalıştırın.🙂

3 yorum:

  1. bence güzel bir veri tabanı sınıfı olmuş

    YanıtlaSil
  2. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  3. fonksiyonun nasıl kullanıldığı eksik kalmış update insert var ama select de nasıl olacak baya uğraştım yapamadım

    YanıtlaSil

Taşların Puan Değerleri - Satranç

Satranç sporunda yer alan taşların değerlerinin puanları şu şekildedir. Vezir 9 puan, Kale 5 puan, At ve Fil 3'er puan, Piyon 1 puan ve ...