Translate

11 Temmuz 2013 Perşembe

Asp.NET, C# ile MSSQL Veritabanı Kayıt Ekleme

    Merhabalar :) , bugünkü yazımda basit bir veritabanı oluşturup, Asp.NET teknolojisini kullanarak oluşturacağımız sayfa üzerinden veritabanımızda bulunan tablomuza veri ekleme işlemini gerçekleştirerek ilk dersimizi sonlandırmış olacağız. Bu benim ilk yazım devamıda gelecek inşallah :)
 
    Öncelikle "Okul" isminde veritabanımızı oluşturuyoruz. Bu veritabanımız içerisinde öğrenci bilgilerinin tutulacağı (OgrenciNo, Ad, Soyad ,SinifNo) kolonlarına sahip "Ogrenciler" isminde bir tablomuz ve bu tablomuzdaki SinifNo kolonundaki sınıf bilgisini tutacak olan (SinifNo,SinifAdi) kolonları içeren "Siniflar" isimli tablolarımızı oluşturuyoruz.





    Veritabanımızı oluşturduktan sonra bir Asp.Net projesi açıyoruz. Pojemize 3 textbox, 1 dropdownlist ve 1 adet buton kontrolü ekliyoruz.


    Şimdide dropdownlist kontrolümüze Siniflar isimli tablomuzdaki verileri çekmekle başlıyoruz. Önemli olan nokta bu işlemde SinifAdi bilgisinin kullanıcıya gösterilmesi ancak seçilen SinifAdi bilgisine ait olan SinifNo bilgisinin arkaplanda veritabanı kayıt işleminde kullanılmasıdır. Siniflar tablosundan çekilecek verilerden birkaçını kendimiz ekliyoruz.



    ...ve kodlarımızı yazmaya başlıyoruz :)



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;

namespace InsertApp
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        SqlConnection con = new SqlConnection("server=YLMZ-BILGISAYAR; Initial Catalog=Okul; Integrated Security=true;");
        SqlCommand cmd;
        SqlDataAdapter da;
        DataSet ds;

        protected void Page_Load(object sender, EventArgs e)
        {
            cmd = new SqlCommand("select SinifNo,SinifAdi from Siniflar", con);/*ddlSinif isimli dropdownlist kontrolüne çekilecek olan sinif bilgisi için bağlantı sağlanıyor.*/
                                                                               
            da = new SqlDataAdapter(cmd);
            ds = new DataSet();
            da.Fill(ds, "sinif");/*da nesnesi cmd içerisindeki sorguyla gelen tablo bilgisini
                                  sinif ismiyle ds içerisine alıyor.*/
            SqlCommandBuilder cb = new SqlCommandBuilder(da);
            ddlSinif.DataSource = ds.Tables["sinif"];/*dropdownlist nesnemiz ds içindeki
                                                      sinif isimli tabloyla ilişkilendiriliyor.*/
            ddlSinif.DataTextField = "SinifAdi";//kullanıcının göreceği tablo bilgisi
            ddlSinif.DataValueField = "SinifNo";//seçilen bilginin işlenecek tablo bilgisi değeri eşitleniyor.
            ddlSinif.DataBind();
        }

        protected void btnEkle_Click(object sender, EventArgs e)
        {
            string sqlStr="insert into Ogrenciler(OgrenciNo,Ad,Soyad,SinifNo) values("+Convert.ToInt32(txtOgrenciNo.Text)+",'"+txtAdi.Text+"','"+txtSoyadi.Text+"',"+Convert.ToInt32(ddlSinif.SelectedValue)+")";/*girilen değerler sorgu içerisine alındı.*/
            cmd.CommandText=sqlStr;
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            Response.Write("Kayıt Başarıyla Eklendi.");
        }
    }
}



    Bir sonraki yazımda görüşmek üzere, esenlikle kalın.. :)

5 yorum:

  1. Hayırlı olsun Kankim güle güle kullan.

    YanıtlaSil
  2. elin ert görmesin admin çok saol sonund abulduk :d

    YanıtlaSil
  3. ddlSinif adı altında 9 adet hata verıyo değişkeni tanımlamadıgından büyük bi ihtimal şuanda program çalışmıyo bi işe yaramaz düzeltilirse olabilir

    YanıtlaSil
    Yanıtlar
    1. aldığınız kodu incelemeden, ddlSinif diye bahsettiğinizin aslında uygulamada kullanılan DropDownList olduğunu anlamadığınızdan çalışmaması ve sizin için işe yaramaması normaldir. Açıklama satırlarında da bu bilgi yer almaktadır. Sağlıcakla..

      Sil