C# SQL Bağlantısı Parametre Kullanımı

sdkbyrm

webmasterfrm
Üyelik Tarihi
23 Aralık 2020
Mesajlar
813
Beğeniler
1
Ticaret: 0 / 0 / 0
C# ile Sql Server’ da oluşturulmuş olan bir veritabanına bağlantı işlemlerini daha önceki yazılarımızda paylaşmıştık. Bu yazımızda da yine C# ile Sql veritabanı bağlantısı oluşturacağız. Önceki konudan farklı olarak bu defa Parametre Kullanarak Kayıt ekleme, Kayıt Silme ve Güncelleme işlemlerini gerçekleştireceğiz.Örneğimizde dbOkul isimli database’i ve Ogrenci isimli tabloyu kullanacağız.


Ayrıca C# dilinde yazılmış daha fazla örnek ve konular için C# Dersleri yazısını yada sağ üstte bulunan site içinde arama panelini kullanabilirsiniz.

vt_1
vt_2

Tablo tasarımımız yukarıdaki şekilde olacaktır. Veritabanını tamamladıktan sonra şimdide Form görüntüsüne geçelim.
vt_5

Kodlarımıza geçmeden önce yapılacakları açıklayalım. Öncelikle listeleme işlemini Form açıldığında, Ekleme işlemi yapıldığında, Silme işlemi yapıldığında ve Güncelleme işlemi yapıldığında yapacağımızdan dolayı bir metot içerisinde oluşturacağız. Böylelikle aynı kodları tekrar tekrar yazmak zorunda kalmayacağız.

Ekle butonunu Parametre kullanarak kayıt ekleme işlemi için;

Sil butonunu Parametre kullanarak kayıt silme işlemi için;

Güncelleme butonunu Parametre kullanarak kayıt değiştirme işlemi için kullanacağız.

Datagridview CellEnter olayına yazacağımız kodlar ise Datagrid üzerinde herhangi bir satıra tıklandığında ilgili satırın uygun TextBox’ lara aktarılmasını sağlayacak.
vt_4
Ayrıca Datagridview’ in SelectioMode özelliğini FullRowSelect olarak ayarlayacağız.

vt_3


Kodlarımızı yazmaya başlıyoruz. Öncelikle


1
2
3

using System.Data.SqlClient;
ekliyoruz.

Daha sonra bağlantı işlemleri için gerekli nesneleri public olarak tanımlıyoruz.


1
2
3
4
5

SqlConnection baglanti;
SqlCommand komut;
SqlDataAdapter da;
Listeleme işlemini gerçekleştirecek “Listele” isimli metodumuzu oluşturuyoruz.


1
2
3
4
5
6
7
8
9
10
11
12

void Listele()
{
baglanti = new SqlConnection("server=.; Initial Catalog=dbokul;Integrated Security=SSPI");
baglanti.Open();
da = new SqlDataAdapter("Select *From Ogrenci", baglanti);
DataTable tablo = new DataTable();
da.Fill(tablo);
dataGridView1.DataSource = tablo;
baglanti.Close();
}
Form açıldığında Listele isimli metodumuzu çağırıyoruz.


1
2
3
4
5
6

private void Form1_Load(object sender, EventArgs e)
{
Listele();
}
Ekle Butonu için;


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

private void button1_Click(object sender, EventArgs e)
{
string sorgu = "Insert into Ogrenci (numara,ad,soyad,telefon) values (@no,@ad,@soyad,@tel)";
komut = new SqlCommand(sorgu, baglanti);
komut.Parameters.AddWithValue("@no", Convert.ToInt32(textBox1.Text));
komut.Parameters.AddWithValue("@ad", textBox2.Text);
komut.Parameters.AddWithValue("@soyad", textBox3.Text);
komut.Parameters.AddWithValue("@tel", textBox4.Text);
baglanti.Open();
komut.ExecuteNonQuery();
baglanti.Close();
Listele();
}
Sil butonu için;


1
2
3
4
5
6
7
8
9
10
11
12

private void button2_Click(object sender, EventArgs e)
{
string sorgu = "Delete From Ogrenci Where numara=@no";
komut = new SqlCommand(sorgu, baglanti);
komut.Parameters.AddWithValue("@no", dataGridView1.CurrentRow.Cells[0].Value);
baglanti.Open();
komut.ExecuteNonQuery();
baglanti.Close();
Listele();
}
Güncelle butonu için;


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

private void button3_Click(object sender, EventArgs e)
{
string sorgu = "Update Ogrenci Set Ad=@ad,Soyad=@soyad,Telefon=@tel Where Numara=@no";
komut = new SqlCommand(sorgu, baglanti);
komut.Parameters.AddWithValue("@no", Convert.ToInt32(textBox1.Text));
komut.Parameters.AddWithValue("@ad", textBox2.Text);
komut.Parameters.AddWithValue("@soyad", textBox3.Text);
komut.Parameters.AddWithValue("@tel", textBox4.Text);
baglanti.Open();
komut.ExecuteNonQuery();
baglanti.Close();
Listele();
}
ve son olarak DataGridview’ de tıklanan sütunların Textboxlar’da görüntülenmesi için;


1
2
3
4
5
6
7
8
9

private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
textBox2.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
textBox3.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
textBox4.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
}
kodlarını yazıyoruz.
Kodlarımızın tamamlanmış hali aşağıdaki gibi olacaktır.


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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace sqlParametre
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

SqlConnection baglanti;
SqlCommand komut;
SqlDataAdapter da;

void Listele()
{
baglanti = new SqlConnection("server=.; Initial Catalog=dbokul;Integrated Security=SSPI");
baglanti.Open();
da = new SqlDataAdapter("Select *From Ogrenci", baglanti);
DataTable tablo = new DataTable();
da.Fill(tablo);
dataGridView1.DataSource = tablo;
baglanti.Close();
}


private void Form1_Load(object sender, EventArgs e)
{
Listele();
}

private void button1_Click(object sender, EventArgs e)
{
string sorgu = "Insert into Ogrenci (numara,ad,soyad,telefon) values (@no,@ad,@soyad,@tel)";
komut = new SqlCommand(sorgu, baglanti);
komut.Parameters.AddWithValue("@no", Convert.ToInt32(textBox1.Text));
komut.Parameters.AddWithValue("@ad", textBox2.Text);
komut.Parameters.AddWithValue("@soyad", textBox3.Text);
komut.Parameters.AddWithValue("@tel", textBox4.Text);
baglanti.Open();
komut.ExecuteNonQuery();
baglanti.Close();
Listele();
}

private void button2_Click(object sender, EventArgs e)
{
string sorgu = "Delete From Ogrenci Where numara=@no";
komut = new SqlCommand(sorgu, baglanti);
komut.Parameters.AddWithValue("@no", dataGridView1.CurrentRow.Cells[0].Value);
baglanti.Open();
komut.ExecuteNonQuery();
baglanti.Close();
Listele();
}

private void button3_Click(object sender, EventArgs e)
{
string sorgu = "Update Ogrenci Set Ad=@ad,Soyad=@soyad,Telefon=@tel Where Numara=@no";
komut = new SqlCommand(sorgu, baglanti);
komut.Parameters.AddWithValue("@no", Convert.ToInt32(textBox1.Text));
komut.Parameters.AddWithValue("@ad", textBox2.Text);
komut.Parameters.AddWithValue("@soyad", textBox3.Text);
komut.Parameters.AddWithValue("@tel", textBox4.Text);
baglanti.Open();
komut.ExecuteNonQuery();
baglanti.Close();
Listele();
}

private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
textBox2.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
textBox3.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
textBox4.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
}


}
}
Örneğimiz üzerinde DataView sınıfının RowFilter özelliğini kullanarak arama yapmayı gösteren örneğe buradan ulaşabilirsiniz.

Ayrıca C# dilinde yazılmış daha fazla örnek ve konular için C# Dersleri yazısını yada sağ üstte bulunan site içinde arama panelini kullanabilirsiniz.
 
Üst