26 Eylül 2015 Cumartesi

C# SQL Server Veritabanı Bağlantısı(C # SQL Server Database Connectivity) select-insert-update-delete

C# SQL Server Veritabanı Bağlantısı - C # SQL Server Database Connectivity Video






* Öncelikle SQL SERVER programımızı açıyoruz .

--New Table tıklayıp id ve adi şeklinde iki sutun oluşturuyoruz.

--id ‘ mizi integer(int tipinde tanımladık) ve identity spefication kısmından id sayımızın  1’er 1’er artacağını ayarladık.Sebebi ise silme ve güncelleme işlemlerimizde her kayıtın bir ve tek kimliği olmasını sağlamak ve onu kolaylıkla bulmak.Bir nevi TC no gibi düşünebiliriz.

--adi kısmı nchar(10) default olarak gelecek 10 sayısı maximum karakter boyutudur.Sayı isteğinize göre değiştirilebilir.

--allow nulls hanesi ise hane boş bırakılmasına izin verip vermediğimizin tanımlanmasıdır.

C# kısmında ise 3 adet buton,1 adet textbox ve dataGridView nesnesine ihtiyacımız var.

Kodları yapıştırıp deneyebilirsiniz.Kodları isterseniz gönderebilirim.Kolay gelsin.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;//Sql bağlantısı için ekliyoruz.

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

        // baglanti nesnesi oluşturulur:
        public SqlConnection baglanti;
        // deneme_01 tablosundaki verileri çekmek için yazılan fonksiyon:
        void kisiGetir()
        {
            // Bağlantı durumu kontrol edilip kapalı ise açılır:
            if (baglanti.State == ConnectionState.Closed)
            {                
                baglanti.Open();
            }
            // Bağlantı açıldığında çalışacak sql sorgusu için cmd nesnesi oluşturulur:
            SqlCommand cmd = new SqlCommand("SELECT * FROM Kisiler2 ORDER BY id ", baglanti);
            /* Veriler ile proje arasında adaptör görevi sağlayan bir ara eleman olan adp nesnesi oluşturulur: */
            SqlDataAdapter adp = new SqlDataAdapter(cmd);
            // DataTable türündeki dtable nesnesi oluşturulur:
            DataTable dtable = new DataTable();
            // adp'nin çalıştırdığı sql sorgusunun getirdiği sonuçlar dtable'a aktarılır:
            adp.Fill(dtable);
            // dataGridView'ımız verileri dtable'dan alır ve gösterir:
            dataGridView1.DataSource = dtable;
            // Bağlantı kapatılır:
            baglanti.Close();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Bağlantı cümlesi
            baglanti = new SqlConnection(@"Data Source=RFT-BILGISAYAR\SQLEXPRESS;Initial Catalog=Test;Integrated Security=true;");
            kisiGetir();    
        }
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
        }
        private void button1_Click(object sender, EventArgs e)
             
        {

            // try ile yazacağımız kod denenir:
            try
            {

                // Bağlantı açıldığında çalışacak sql sorgusu için cmd nesnesi oluşturulur:                  
                SqlCommand cmd = new SqlCommand("INSERT INTO Kisiler2 (adi) VALUES (@Adi)", baglanti);


                // TextBox'lardan alınan bilgiler etiketlere, oradan da sorguya gönderilir:
                cmd.Parameters.AddWithValue("@Adi", textBox1.Text);
                //cmd.Parameters.AddWithValue("@soyad", txtSoyad.Text);
                


                //Bağlantı kapalı ise açılır:
                if (baglanti.State == ConnectionState.Closed)
                {
                    baglanti.Open();
                }


                // Sorgu çalıştırılır:
                cmd.ExecuteNonQuery();


                // Bağlantı kapatılır:
                baglanti.Close();


                // kisiGetir fonksiyonu ile tablonun son hali getirilir:
                kisiGetir();


                // Eklendi mesajı gösterilir:
                MessageBox.Show("Eklendi.");
            }


// Bir yerde hata varsa catch ile yakalanır ve mesaj verilir:
            catch (SqlException)
            {
                MessageBox.Show("Hata Olustu!");
            }
        }



        private void button2_Click(object sender, EventArgs e)
        {
            // try ile yazacağımız kod denenir:
            try
            {

                // Bağlantı açıldığında çalışacak sql sorgusu için cmd nesnesi oluşturulur: 
                SqlCommand cmd = new SqlCommand("UPDATE Kisiler2 SET adi=@Adi WHERE id=@id", baglanti);


                // Fare ile seçilmiş satırın değeri @id'ye aktarılır: SELECT İŞLEMİ YAPILMIŞ OLUR
                cmd.Parameters.AddWithValue("@id", dataGridView1.CurrentRow.Cells[0].Value);


                // TextBox'lardan alınan bilgiler etiketlere, oradan da sorguya gönderilir:
                cmd.Parameters.AddWithValue("@Adi", textBox1.Text);
               


                // Bağlantı kapalı ise açılır:
                if (baglanti.State == ConnectionState.Closed)
                {
                    baglanti.Open();
                }


                // Sorgu çalıştırılır:
                cmd.ExecuteNonQuery();


                // Bağlantı kapatılır:
                baglanti.Close();


                // kisiGetir fonksiyonu ile tablonun son hali getirilir:
                kisiGetir();


                // Güncellendi mesajı gösterilir:
                MessageBox.Show("Güncellendi.");
            }


// Bir yerde hata varsa catch ile yakalanır ve mesaj verilir:
           
            catch (SqlException)
            {
                MessageBox.Show("Hata olustu!");
            }
        }



        private void button3_Click(object sender, EventArgs e)
        {



            // try ile yazacağımız kod denenir:
            try
            {

                // bağlantı açıldığında çalışacak sql sorgusu için cmd nesnesi oluşturulur:
                SqlCommand cmd = new SqlCommand("DELETE Kisiler2 WHERE id=@id", baglanti);


                // Fare ile seçili satırın değeri @id'ye aktarılır:
                cmd.Parameters.AddWithValue("@id", dataGridView1.CurrentRow.Cells[0].Value);


                // Bağlantı kapalı ise açılır:
                if (baglanti.State == ConnectionState.Closed)
                {
                    baglanti.Open();
                }


                // Sorgu çalıştırılır:
                cmd.ExecuteNonQuery();


                // Bağlantı kapatılır:
                baglanti.Close();


                // kisiGetir fonksiyonu ile tablonun son hali getirilir:
                kisiGetir();


                // Silindi mesajı gösterilir:
                MessageBox.Show("Silindi.");
            }
// Bir yerde hata varsa catch ile yakalanır ve mesaj verilir:
            catch (SqlException)
            {
                MessageBox.Show("Hata olustu!");
            }
        }  

     }
}

1 yorum:

  1. Stainless Steel T-Shirt for T-Shirt - iTanium-Art
    T-Shirt for T-Shirt. This is a high can titanium rings be resized quality stainless steel T-Shirt with revlon titanium max edition stainless steel lining that protects trekz titanium pairing you from the corrosion of black titanium ring steel. Rating: titanium mens wedding bands 4.7 · ‎8 reviews

    YanıtlaSil