Asp.net ile Sql Server Veritabanına kayıt ekleme

Bu bölümde Sql Server veritabanı sunucusunda oluşturduğumuz eticaretdb veritabanı içindeki tblMusteri tablosuna metin kutularından kayıt ekleme işlemini inceleyeceğiz.

Daha önce anlattğımız aşağıdaki blog yazısını okuduktan sonra bu kısmı okuyunuz.
Asp.Net ile GridView Kullanımı

İlk önce yeni bir Web Projesi başlatıp bir WebForm ekliyoruz. WebFormun ismini MusteriEkle.aspx şeklinde verelim. Sonra Toolbox'tan HTML sekmesinden bir Table nesnesi sürükleyip form üzerine bırakıyorıuz. Daha sonra üç TextBox, bir Button, bir Label nesnesini Standart sekmesinden Webform üzerindeki tablomuzun hücrelerine sürükleyip bırakıyoruz. Görüntü aşağıdaki gibi oluyor.

Nesne Adı Özellik Değer
TextBox ID txtAdi
TextBox ID txtSoyadi
TextBox ID txtTelefon
Label ID lblMesaj
Label Text Boşaltınız
Button ID btnKaydet
Button Text Kayıt Ekle


Daha sonra Kayıt Ekle butonuna çift tıklayınız, kod penceresi açılacaktır. Sql Server veritabanına ekleme, silme, güncelleme, listeleme işlemleri yapmak için NameSpace kısmına aşağıdaki iki satırı ekliyoruz.

using System.Data;
using System.Data.SqlClient;


web.config dosyasındaki bilgileri kullanabilmek için de aşağıdaki satırı ekliyoruz.
using System.Configuration;
 
Bazı kullanıcılar Web.config dosyasını kullanmadan da veritabanı bağlantısını kullanabilirler. İlerleyen zamanlarda kod satırınız çoğaldığını ve yüzlerce form uygulaması yaptığınızı düşünün, veritabanı bağlantı kodları değiştiğinde ki hosting firması size farklı kullanıcı adı ve şifre verecektir. O zaman sadece web.config dosyasını düzenlersiniz, tüm dosyalara teker teker girip düzenleme ameleliğinden kurtulursunuz.

web.config dosyası içeriği aşağıdaki gibidir, kırmızı olan kısmı ekleyerek veritabanı bağlantısını sağlıyoruz. Yalnız bu bağlantıyı yaparken verdiğiniz parametreleri bir SqlDataSource nesnesine ürettirebilirsiniz, zaten bu nesne de ürettiği bağlantıyı Web.config dosyasına yazacaktır. Solution Explorer'da web.config dosyasını görebilirsiniz, üzerine tıklayarak eklemeyi yapınız. 

<?xml version="1.0"?>
<configuration>
 
    <connectionStrings>
        <add name="eticaretdbBaglantisi" connectionString="Data Source=WEB1-SERVER1\SQLEXPRESS;Initial Catalog=eticaretdb;Integrated Security=True"
            providerName="System.Data.SqlClient" />
  
    </connectionStrings>
    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
 
</configuration>


Bu işlemlerden sonra şimdi sıra geldi Sql Server veritabanına bağlanma işlemine, bu işlem oldukça basit. Önce SqlConnection sınıfını kullanarak baglanti nesnesi olusturuyoruz. Daha sonra SqlCommand sınıfından komut nesnesini türetiyoruz.

 SqlConnection baglanti;
 SqlCommand komut;
     
Aşağıdaki kod satırı ile Web.config dosyasında tanımladığımız bağlantıya ulaşıyoruz.

string baglanStr = ConfigurationManager.ConnectionStrings["eticaretdbBaglantisi"].ConnectionString;
baglanti = new SqlConnection(baglanStr);
 
Şimdi aşağıdaki satırları ile de ekleme işlemini INSERT SQL kodunu yazıyoruz, buradaki @ işaretleri sql cümleciğimizde kullanılan parametrelerdir. 

        komut = new SqlCommand("INSERT INTO tblmusteri (ADI, SOYADI, TELEFON) VALUES(@adi, @soyadi,@telefon)", baglanti);

Yukarıdaki satırda belirttiğimiz @adi, @soyadi ve @telefon parametrelerine textBox nesnelerini atıyoruz. 

 
                komut.Parameters.AddWithValue("@adi", txtAdi.Text);
                komut.Parameters.AddWithValue("@soyadi", txtSoyadi.Text);
                komut.Parameters.AddWithValue("@telefon", txtTelefon.Text);

Bu işlemden sonra baglanti.Open() metodu ile bağlantıımızı aktif ediyoruz. 
                baglanti.Open();

Sql komutumuzu da işletmek için komut.ExecuteNonQuery(); metdounu aşağıdaki gibi çağırıyoruz.
                komut.ExecuteNonQuery();





Sonuç olarak kodlarımızın tamamı aşağıdaki gibidir. 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
 
 
public partial class MusteriEkle : System.Web.UI.Page
{
 
    protected void btnKaydet_Click(object sender, EventArgs e)
    {
      if (Page.IsValid)
       
        {
            SqlConnection baglanti;
            SqlCommand komut;
         
            string baglanStr = ConfigurationManager.ConnectionStrings["eticaretdbBaglantisi"].ConnectionString;
            baglanti = new SqlConnection(baglanStr);
 
 
            try
            {
                komut = new SqlCommand("INSERT INTO tblmusteri (ADI, SOYADI, TELEFON) VALUES(@adi, @soyadi,@telefon)", baglanti);
                komut.Parameters.AddWithValue("@adi", txtAdi.Text);
                komut.Parameters.AddWithValue("@soyadi", txtSoyadi.Text);
                komut.Parameters.AddWithValue("@telefon", txtTelefon.Text);
                baglanti.Open();
                komut.ExecuteNonQuery();
                LblMesaj.Text = "Kayıt Eklendi";
      
 
            }
            catch
            {
                LblMesaj.Text = "Hata oluştu, kaydedilemedi.";
            }
            finally
            {
 
                baglanti.Close();
            }
        }
    }
    
}



Mutlu kodlamalar,
Oğuzhan TAŞ
Aralık, 2016
 
Bookmark and Share