Bu yazıda ilk olarak Sql Server’a c# arayüzü ile veriyi kaydetmeyi ardından da kaydettiğimiz bu veriyi Sql Server dan c# arayüzüne getirmeyi göstereceğim.

Daha önceden Visual Studio ekranında C# form uygulaması olarak hazırladığım örnek ile sql serverdan veri alma ve gönderme işlemini anlatacağım. Hazırladığım örnek uygulamanın form görselini görmektesiniz. Yazının sonunda ise kod satırları ve programın indirme linkini bulabilirsiniz.

Program kişilerin kaydını tutmaktadır. Bunlar numarası, adı ve soyadı bilgileridir. Kaydet butonuna basıldığı zaman textboxdaki verileri kaydedecek. Göster butonuna basıldığı zaman ise datagrid de verileri gösterecek.

Kodları inceleyelim.

string ConStr=”Data Source=SAD-BILGISAYAR;Initial Catalog=proje;Integrated Security=True”;
Bu satır ile sql serverda verilerin tutulacağı ilgili database’i programa tanıttık. Bu satırdaki database adresi sayesinde veriler kaydedilecekler. Data Source databese in bulunduğu bilgisayarı, Initial Catalog ise sql serverdaki ismini belirtir. Yani buradan anlaşılacağı üzere database ‘in adı sql server da proje adı ile saklanmaktadır.

şimdi C# da veri göndermeyi gösterelim.

private void btnKaydet_Click(object sender, EventArgs e)
{
SqlConnection OleCn = new SqlConnection(ConStr);
OleCn.Open();
SqlCommand Cmd = new SqlCommand();
Cmd.Connection = OleCn;
Cmd.CommandText = “spKisi”;
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Parameters.AddWithValue(“@Adi”, txtAdi.Text);
Cmd.Parameters.AddWithValue(“@Soyadi”, txtSoyadi.Text);
Cmd.ExecuteNonQuery();
OleCn.Close();
MessageBox.Show(“Kayıt başarı bir şekilde girildi”,”Kaydet”,MessageBoxButtons.OK,MessageBoxIcon.Information);
}

kaydet butonuna basıldığında textboxlardaki değerler veritabanındaki ilgili yerlere kaydedilecekler.Veri tabanına veri kaydederken dikkat edilmesi gereken en önemli husus verilerin doğru kaydedilmesidir. Bu işlem için parametreler kullanırız. Parametreler veritabanına dışarıdan gelen ilgili veridir.
ExecuteNonQuery ise parameters yardımıyla iletilen verilerin database de kaydedilmesini sağlar.Stoured Procedure içindeki Sql kodlar ise aşağıdadır. Sql server da ise bu kodlar çalışır.

Create PROCEDURE [dbo].[spKisi]
@Adi nvarchar(50),
@Soyadi nvarchar(50)
AS
BEGIN
insert into kisi (Adi,SoyAdi) values (@Adi,@Soyadi)
END

C# da veri çekme ise aşağıdaki gibi olmaktadır.

  private void btnGoster_Click(object sender, EventArgs e)
{
SqlConnection OleCn = new SqlConnection(ConStr);
OleCn.Open();
SqlCommand Cmd = new SqlCommand();
Cmd.Connection = OleCn;
Cmd.CommandText = “spKisiGoster”;
Cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter Da = new SqlDataAdapter();
Da.SelectCommand = Cmd;
DataSet Ds = new DataSet();
Da.Fill(Ds);
dgvKisiGoster.DataSource = Ds.Tables[0];
}

Verileri veritabanından aldıktan sonra dategrid de göstermek ise yukarıdaki kod satırları ile olmaktadır.  Kodları açıklarsak. ilk 6 satır ile veritabanına bağlandık ve yapılacak işlemin procedure ile yapılacağını belirttik. DataAdapter ile ise program ile sql serverdaki database arasında bir bağlantı oluşturduk. Dataset ile de gelen verileri c# arayüzünde saklanması sağlanıldı. Daha sonra son satır ile de datagrid de verilerin gösterilmesi sağlanıldı.

Sql Server tarafındaki Procedure de çalışan Sql kodları.

Create PROCEDURE [dbo].[spKisiGoster]
AS
BEGIN
SELECT * from kisi
END

Uygulamanın c# ve sql server dosyalarını indirerek kendi bilgisayarınızda deneyebilirsiniz.
Uygulamayı indirmek için Tıklayın

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir