C sharp ile telefon rehberi yapmak

C sharp ile telefon rehberi

Trabzon havaalanında oturmuş uçağımın vaktinin gelmesini beklerken can sıkıntısından basit bir telefon rehberi yapıp vakit öldürmek istedim. 
Aslında bu kadaer basit bir telefon rehberi bir işe yarar mı bilmiyorum ama. kısaca c# ile veritabanına nasıl bağlanılır, nasıl kayıt eklenir. ve eklenen kayıtlar datagridviewde nasıl görüntülenir kısaca görmüş oluruz. Hem de vakit geçer. açıkcası sabah beşbuçukta kalkıp trabzona gelip şimi halledip aynı gün İstanbula dönmek için havaalanında beklerken kapsamlı bir şeyler okumak istemedim. 

ilk önce sql server management studio'yu açıp veritabanı oluşturalım ve bir tablo oluşturalım 

management studioda Database üzerinde sağ tuş ile new database denilip database adını giriniz ben TelRehber giriyorum.  Şimdi de tablomuzu oluşturalım 



USE [TelRehber]
GO

/****** Object:  Table [dbo].[Tbl_Kisiler]    Script Date: 5.05.2019 15:50:17 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Tbl_Kisiler](
 [ID] [INT] IDENTITY(1,1) NOT NULL,
 [AD] [VARCHAR](25) NOT NULL,
 [SOYAD] [VARCHAR](25) NOT NULL,
 [CEP_TEL] [VARCHAR](10) NOT NULL,
 [IS_TEL] [VARCHAR](10) NOT NULL,
 [EMAIL] [VARCHAR](30) NOT NULL,
 [ADRES] [VARCHAR](MAX) NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Tbl_Kisiler isminde tablomuz oluştu management Studio'yu kapatıp visual studioyu açalım

Basitçe aşağıdaki gibi bir form tasarladım, Textboxlara ve richtextbox'a girilen verileri database'e kaydedecek bir form. Hadi şimdi kodlayalım.


En üste usinglerin içine aşağıdaki satırları ekleyelim ki programımız data ve sql ile çalışacağıni bilsin.
using System.Data;
using System.Data.SqlClient;
Şimdi ise kaydet butonunu kodlayalım
 static string conString = "Server=.\\sqlexpress;Database=TelRehber;User Id=sa;Password=saw;";
       
        SqlConnection baglanti = new SqlConnection(conString);
        DataSet ds = new DataSet();



        private void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (baglanti.State == ConnectionState.Closed)
                    baglanti.Open();
          
                string kayit = "INSERT INTO Tbl_Kisiler (AD, SOYAD, CEP_TEL, IS_TEL, EMAIL, ADRES) VALUES ( @AD,@SOYAD,@CEPTEL,@ISTEL,@EMAIL,@ADRES)";
            
                SqlCommand komut = new SqlCommand(kayit, baglanti);
              
                komut.Parameters.AddWithValue("@AD", textBox1.Text);
                komut.Parameters.AddWithValue("@SOYAD", textBox2.Text);
                komut.Parameters.AddWithValue("@CEPTEL", textBox3.Text);
                komut.Parameters.AddWithValue("@ISTEL", textBox4.Text);
                komut.Parameters.AddWithValue("@EMAIL", textBox5.Text);
                komut.Parameters.AddWithValue("@ADRES", richTextBox1.Text);
                //Parametrelerimize Form üzerinde ki kontrollerden girilen verileri aktarıyoruz.
                komut.ExecuteNonQuery();
                //Veritabanında değişiklik yapacak komut işlemi bu satırda gerçekleşiyor.
         
                MessageBox.Show(" Kayıt İşlemi Gerçekleşti.","Bilgi", MessageBoxButtons.OK,MessageBoxIcon.Information);
                //
                baglanti.Close();
            }
            catch (Exception hata)
            {
                baglanti.Close();
                MessageBox.Show("İşlem Sırasında Hata Oluştu, bilgiler kaydedilemedi."+hata ,"dikkat",MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
kaydet butonumuzu kodladık. Listele butonu ise 

 if (ds.Tables.Count > 0)
                dataGridView1.Columns.Clear();
            ds.Tables.Clear();
            dataGridView1.Refresh();






            baglanti.Open();
            try
            {
                dataGridView1.DataSource = null; //Her click de datasource u null a eşitleyip içeriğini temizliyoruz


                string Sqlcmd = "SELECT AD 'ADI', SOYAD 'SOYADI', CEP_TEL 'CEP TELEFONU', IS_TEL 'İŞ TELEFONU', EMAIL 'MAİL ADRESİ', ADRES 'ADRES'  FROM Tbl_Kisiler";
                SqlDataAdapter da = new SqlDataAdapter(Sqlcmd, baglanti);//dataapter nesnesini oluşturup sqlCmd sorgu cümlesini ve sqlCon veritabanı bağlantımızı yazıyoruz
                //dataset nesnesini oluşturuyoruz
                da.Fill(ds, "Tbl_Kisiler");//sqlCmd sorgusundan gelen veriyi dataset nesnesine ekliyoruz. b

                if (ds.Tables[0].Rows.Count == 0)// tabloda herhangi bir veri yoksa (boşsa) aşağıdaki blok çalışacak
                {
                   
                    return;//kayıt olmadığı için return ile bloğun dışına çıkıyoruz
                }
                else//kayıt varsa
                {
                    dataGridView1.AutoResizeColumns();
                    dataGridView1.AutoSizeColumnsMode =         DataGridViewAutoSizeColumnsMode.AllCells;
                    dataGridView1.DataSource = ds.Tables["Tbl_Kisiler"];//sqlCmd sorgusu ile çektiğimiz kayıtlar datagridview1 üzerinde gösteriliyor
                }

            }
            catch (SqlException ex)
            {
                MessageBox.Show("Hata : " + ex); //Veritabanına bağlantı sırasında alınan bir hata varsa burada gösteriliyor

            }
            finally //button1_Click olduğu sürece bu bloğa uğramadan uygulama sonlanmıyor
            {
                baglanti.Close(); //Açık olan Sql bağlantısı sonlandırılıyor

            }

Düzenle butonu şu an için sadece datagridviewde seçilen veriyi textboxlara taşır. Kaydet derseniz kaydeder ama yeni bir satır olarak. var olan satırı update etmez. 
   int SecilenSatir;
            SecilenSatir = dataGridView1.CurrentRow.Index;

            textBox1.Text = dataGridView1.Rows[SecilenSatir].Cells[0].Value.ToString();
            textBox2.Text = dataGridView1.Rows[SecilenSatir].Cells[1].Value.ToString();
            textBox3.Text = dataGridView1.Rows[SecilenSatir].Cells[2].Value.ToString();
            textBox4.Text = dataGridView1.Rows[SecilenSatir].Cells[3].Value.ToString();
            textBox5.Text = dataGridView1.Rows[SecilenSatir].Cells[4].Value.ToString();
            richTextBox1.Text = dataGridView1.Rows[SecilenSatir].Cells[5].Value.ToString();
Bu kadar.

İlginizi Çekebilir

Sonraki
« Önceki
Previous Article
Next Post »
Yorumlar
Yorumlar