Üye Kayıt Üye Giriş

C# ile Basit Veritabanı İşlemleri Nasıl Yapılır


C# ile Basit Veritabanı İşlemleri Nasıl Yapılır

Uzun zamandır C# ile MsSql veritabanındaki bilgileri nasıl alabiliriz ve veritabanına nasıl kayıt atarız gibi sorular geliyor. Bu işlemleri basitçe bir örnekle anlatmak istedim.

İlk olarak veritabanı bağlantısını oluşturmamız gerekiyor, bunun için iki temel bileşene ihtiyacımız var. Birincisi connection string olarak adlandırdığımız veritabanını tanımlayan bir metin. Bu metin içine Mssql serverin adresi(eğer varsa instance name ile beraber), veritabanının adı, kullanıcı bilgileri gibi veritabanına bağlanmamız için gerekli olan bilgileri yazarız. Daha sonra bir Sql connection oluşturarak bağlantıyı yaparız. Bu işlemlerin örneğimizde bulabilirsiniz.

İlk olarak veritabanı işlemlerimizi yapacak bir sınıf oluşturalım. Bu sınıf connection stringimizi app.config dosyasından alsın ve bağlantıyı açsın. Ayrıca select insert gibi işlemleri yapabilmek için bu sınıfa fonksiyonlar tanımlayalım.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
 
namespace MsSqlIslemleri
{
 
    public class Veritabani
    {
        SqlConnection connection = null;
        publicVeritabani()
        {
            stringconString =
            ConfigurationSettings.AppSettings["conString"];
            connection = newSqlConnection(conString);
            connection.Open();
        }
        public DataTable SelectSorgusuCalistir(stringsSorgu)
        {
            if (connection.State == ConnectionState.Open)
            {
                SqlDataAdapter da = newSqlDataAdapter(sSorgu, connection);
                da.SelectCommand.ExecuteNonQuery();
                DataTable dt = newDataTable();
                da.Fill(dt);
                returndt;
            }
            else
                return null;
        }
        public int InsertveUpdateSorgusuCalistir(string sorgu)
        {
            if (connection.State == ConnectionState.Open)
            {
                SqlCommand com = newSqlCommand(sorgu);
                com.CommandType = CommandType.Text;
                com.Connection = connection;
                introwcount = com.ExecuteNonQuery();
                returnrowcount;
            }
            else
                return 0;
        }
    }
}

Veritabanı bağlantısı için kullanacağımız sınıfımız hazır olduğuna göre bir Windows form projesi açalım ve hazırladığımız sınıfı kullanarak veritabanından select ve insert işlemlerini yapalım.

c# veritabanı işlemleri


 

Yukarıdaki gibi bir form tasarlayalım. Forma eklediğimiz butonların altına aşağıdaki kodları yazdıktan sonra kullanılmaya hazır demektir. Yukarıdaki resim select butonuna bastığımız zaman oluşan ekranın görüntüsüdür.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void SelectSorgusuButton_Click(objectsender, EventArgs e)
{
    Veritabani db = newVeritabani();
    DataTable dt = db.SelectSorgusuCalistir(@"
        select * from Siparis order by SiparisID");
    dataGridView1.DataSource = dt;
    dataGridView1.DataMember = dt.TableName; 
}
    Random r = newRandom(100);
 
private void insertsorgusucalistirbutton_Click(objectsender, EventArgs e)
{
    Veritabani db = newVeritabani();
    int count = db.InsertveUpdateSorgusuCalistir(@"
        INSERT INTO [Siparis] ([MusteriAdSoyad],[UrunAdi],[Tutar],[Donem])
    VALUES ('RastgeleMusteri','UrunAdi',1250,20100405)");
    MessageBox.Show(count.ToString() + "adet kayıt veritabanına atıldı");
}

 

Yukarıdaki kodlarda gördüğünüz gibi bizim _Denemeler diye bir veritabanımız ve bu veritabanında Siparisler tablomuz var. Sizde kodları kendi veritabanınıza göre değiştirmelisiniz.

Hatırlarsanız veritanına ulaşmak için oluşturduğumuz sınıf app.config dosyasından connection stringi alıyordu. Sizde projenize aşağıdaki gibi bir app.config dosyası oluşturmalısınız.

1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <addkey="conString"value="Data Source=.;
            Initial Catalog=_Denemeler;Integrated Security=True" />
    </appSettings>
</configuration>

Örnek projemizi aşağıdaki linkten indirerek kendi veritabanınıza bağlayabilir ve deneyebilirsiniz. Umarım basit veritabanı işlemleri yapmak isteyen ve bu işe yeni başlayan arkadaşlara yardımcı olabilmişizdir.

Büyük ve orta ölçekli projelerde artık bu tür yapılar kullanmıyoruz. Bunların yerine veritabanı işlemlerimizi otomatik yapan veritabanı ile birebir map olmuş sınıf yapıları kullanıyoruz. Bu sınıfları otomatik olarak oluşturan programlar ile üretiyoruz. Veritabanımızdaki her bir tabloyu sanki bir nesne gibi kullanarak işlemleri çok hızlı gerçekleştirebiliyoruz. Uygun bir zamanda bu tür basit bir örnek vermeye çalışacağım.

Bilgisayar Dershanesi Ders Sahibi;
Bilgisayar Dershanesi

Yorumlar

Yorum Yapabilmek İçin Üye Girişi Yapmanız Gerekmektedir.

ETİKETLER