15
Tem
2009

Linq To Sql Insert Update Ve Delete

Author    Category Bilgisayar, Genel     Tags , , ,     Okunma Sayısı Bu Yazı 1.234 kere okundu.

Arakadaşlar Bu Makalemizde LinqToSQL İle Insert,Update,Delete İşlemlerine Değineceğiz Dilerseniz Hiç Vakit Kaybetmeden,
Örneğimize Başlayabiliriz.İlk Önce Tasarım Kısmından Başlayalım Tasarımımızı Aşağıdaki Gibi Yapıyoruz Arkadaşlar.

<div align=”center”>
<table id=”sonuc” runat=”server” style=”background-color:Black; color:White; width: 346px;”>

<tr style=”text-align:left;”>
<td><b>Shippers :</b></td>
<td align=”right”><asp:DropDownList ID=”ddlShippers” runat=”server” Width=”205″
AutoPostBack=”true” onselectedindexchanged=”ddlShippers_SelectedIndexChanged”></asp:DropDownList></td>
</tr>

<tr style=”text-align:left;”>
<td><b>Shipper ID :</b></td>
<td align=”right”><asp:TextBox ID=”txtShipperID” runat=”server” Width=”200″ ReadOnly=”True”></asp:TextBox></td>
</tr>

<tr style=”text-align:left;”>
<td><b>Company Name :</b></td>
<td align=”right”><asp:TextBox ID=”txtCompanyName” runat=”server” Width=”200″></asp:TextBox></td>
</tr>

<tr style=”text-align:left;”>
<td><b>Phone :</b></td>
<td align=”right”><asp:TextBox ID=”txtPhone” runat=”server” Width=”200″></asp:TextBox></td>
</tr>

<tr style=”text-align:right;”>
<td colspan=”2″ align=”right”>
<asp:Button ID=”Button4″ runat=”server” Text=”Clear” onclick=”Button4_Click” />&nbsp;&nbsp;
<asp:Button ID=”Button1″ runat=”server” Text=”Insert” onclick=”Button1_Click”
style=”margin-left: 8px” />&nbsp;&nbsp;
<asp:Button ID=”Button2″ runat=”server” Text=”Update” onclick=”Button2_Click” />&nbsp;&nbsp;
<asp:Button ID=”Button3″ runat=”server” Text=”Delete” onclick=”Button3_Click” />&nbsp;&nbsp;
</td>
</tr>

</table>
</div>

 

Tasarım Kısmını Tamamladıktan Hemen Sonra,CodeBehind Kısmına Geçerek Kodlarımızı Yazmaya Başlayabiliriz,
Unutmadan Burada Yapacağımız İşlemker Manuel Olacaktır,Normalde Proje Üzerine Sağ Click LINQ To SQL Classes.dbml,
Class’ı Eklememiz Gerekiyor Bu Class’ı Ekledikten Sonra Veritabanımızla Bağlantıya Geçerek İçerisinden Herhangi Bir,
Tabloyu Sürekle Bırak Yöntemiyle Oluşturduğumuz dbml Uzantılı Class’ımıza Bırakmamız Ve Projemizi Build Etmemmiz,
Bizim İçin Yeterlidir Projemizi Build Ettikden Sonra dbml Uzantılı Class’ımıza Kaçtane Tablo Eklemiş İsek,
dbml Class’ı Otomatik Olarak Eklediğimiz Tabloların Class’larını Arka Planda Bizim İçin Oluşturacaktır.
Biz İse Bu Yöntem İle Değil dbml Ve Classlarımızı Manuel Olarak Yazacağız,CodeBehind Kısmına Geçtikten Aşağıdakileri,
Projenize Ekleyebilirsiniz.

// Global Alanda dbml Oluşturuyoruz Ve İçerisine connectionStringimizi Yerleştiriyoruz.

DataContext dc = new DataContext(connectionString);

// Bağlantı connection Olayımızı’da Global Alanda Yapıyoruz,Dilerseniz Bağlantı Kısmını webConfig İçerisinde Tanımplayıp,
// Burada Çağırabilirsiniz Size Kalmış,Ben Burada Aşağıdaki Yöntem İle Yazacağım.

private static readonly string connectionString =
“Data Source=.;Initial Catalog=Northwind;Trusted_Connection=true”;

// Hemen Akabinde Çalışmak İstediğimiz Class’ımızı Yazıyoruz Ben Northwind Veritabanındaki Shippers Tablosunu Kullanacağım,
// Siz Dilerseniz Başka Bir Tablo Yada Tablolar’la Çalışabilirsiniz.
// Bu Arada Proje Üzerinde Sağ Click AddReference Dedikten Sonra System.Data.Linq Reference Eklemeyi Unutmuyoruz.

// Aşağıdaki Gerekli Olan namespace’leride ekliyoruz.

using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Text;
using System.Reflection;

[Table(Name="Shippers")]
public class BenimKalas
{
[Column(Name="ShipperID", DbType="Int NOT NULL", IsDbGenerated=true, IsPrimaryKey=true, CanBeNull=false)]
private int _shipperid;
public int ShipperID
{ get { return this._shipperid; } set { this._shipperid = value; } }

[Column(Name="CompanyName")]
private string _companyname;
public string CompanyName
{ get { return this._companyname; } set { this._companyname = value; } }

[Column(Name="Phone")]
private string _phone;
public string Phone
{ get { return this._phone; } set { this._phone = value; } }
}

// Tablomuzu Oluşturduğumuza Göre DropDown’ımız İçin Aşağıdaki İşlemleri Yapıyoruz Ve Formumuzun Load Olayında Çağırıyoruz.

protected void DoldurDropDown()
{
Table<BenimKalas> kalas = dc.GetTable<BenimKalas>();

var query = from table in kalas
select table;

foreach (var item in query)
{
ListItem eleman = new ListItem(item.CompanyName,item.ShipperID.ToString());
ddlShippers.Items.Add(eleman);
}
}

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
DoldurDropDown();
}

// DropDown SelectedIndexChanged Olayını Aşağıdaki Gibi Yazıyoruz.

protected void ddlShippers_SelectedIndexChanged(object sender, EventArgs e)
{
var query = from table in dc.GetTable<BenimKalas>().ToList()
where table.ShipperID == int.Parse(ddlShippers.SelectedValue)
select table;

foreach (var item in query)
{
txtShipperID.Text = item.ShipperID.ToString();
txtCompanyName.Text = item.CompanyName;
txtPhone.Text = item.Phone;
}
}

// Insert İşlemi İçin Aşağıdaki Adımları Yapıyoruz.

protected void Button1_Click(object sender, EventArgs e)
{
try
{
Table<BenimKalas> tablo = dc.GetTable<BenimKalas>();

BenimKalas kalas = new BenimKalas
{
CompanyName = txtCompanyName.Text,
Phone = txtPhone.Text
};

tablo.InsertOnSubmit(kalas);
dc.SubmitChanges();

Response.Write(“Başarılı Kayıt !”);
}
catch (Exception hata)
{
Response.Write(“Genel Bir Hata Oluştu !<br />” + hata.Message);
}

}

// Update İşlemi İçin

protected void Button2_Click(object sender, EventArgs e)
{
try
{
var query = (from table in dc.GetTable<BenimKalas>().ToList()
where table.ShipperID == int.Parse(ddlShippers.SelectedValue)
select table).Single();

query.CompanyName = txtCompanyName.Text;
query.Phone = txtPhone.Text;

dc.SubmitChanges();

Response.Write(“Güncelleme Başarılı !”);
}
catch (Exception hata)
{
Response.Write(“Genel Bir Hata Oluştu !<br />” + hata.Message);
}
}

// Delete İşlemi İçin

protected void Button3_Click(object sender, EventArgs e)
{
try
{
Table<BenimKalas> tablo = dc.GetTable<BenimKalas>();

var query = (from table in dc.GetTable<BenimKalas>().ToList()
where table.ShipperID == int.Parse(ddlShippers.SelectedValue)
select table).Single();

tablo.DeleteOnSubmit(query);
dc.SubmitChanges();

Response.Write(“Silme İşlemi Başarılı !”);
}
catch (Exception hata)
{
Response.Write(“Genel Bir Hata Oluştu !<br />” + hata.Message);
}
}

// Temizle Butonu İçin Aşağıdaki İşlemleri Yapıyoruz

protected void Button4_Click(object sender, EventArgs e)
{
foreach (HtmlTableRow row in sonuc.Rows)
{
foreach (HtmlTableCell cell in row.Cells)
{
Control item = cell.Controls[0];
if (item is TextBox)
{
((TextBox)item).Text = “”;
}

}
}
}

Ve Artık Sonuca Bakabiliriz Aşağıdaki Gibi Görünecektir.

Linq_Insert_Update_Delete

Bu Makalemizde LINQ İle INSERT,UPDATE,DELETE İşlemlerinin Yanısıra dbml class’ımızı ve Tablomuzu manuel oluşturmayı öğrendik,
Umarım Faydalı Bir Makale Olmuştur,Bir Sonraki Makalemizde Görüşmek Üzere Sağlıcakla Kalın.

Blog Widget by LinkWithin

Yorum Yapın

Yazıya yorum yapmak için lütfen Giriş yapınız.

Giriş

Facebook

Kategoriler

Arşivler

Takvim

Şubat 2012
Pts Sal Çar Per Cum Cts Paz
« Oca    
 12345
6789101112
13141516171819
20212223242526
272829  

Son YazIlar

Son Yorumlar

En Çok Okunanlar

Etiket Bulutu

Anket

Mobil İşletim Sistemi olarak hangisini tercih ediyorsunuz?

Sonuçları göster

Loading ... Loading ...

Kimler Çevrimiçi

Şuanda 14 ziyaretçi çevrimiçi
4 ziyaretçi, 10 robot, 0 üye
Yapımcısı Ziyaretçi Haritası

Reklam AlanI