Linq To Sql Insert Update Ve Delete
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” />
<asp:Button ID=”Button1″ runat=”server” Text=”Insert” onclick=”Button1_Click”
style=”margin-left: 8px” />
<asp:Button ID=”Button2″ runat=”server” Text=”Update” onclick=”Button2_Click” />
<asp:Button ID=”Button3″ runat=”server” Text=”Delete” onclick=”Button3_Click” />
</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.

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.
Giriş
Kategoriler
Arşivler
Takvim
Son YazIlar
- Mevlit Kandiliniz Mübarek Olsun
- Dünyanın en karanlık kahramanı yeniden sürüyor : HAYALET SÜRÜCÜ 2 İNTİKAM ATEŞİ
- Ya Ben İstanbul’u Alacağım, Ya İstanbul Beni ! : FETİH 1453
- Lost’un yaratıcısı J.J. Abrams’tan yeni dizi :ALCATRAZ
- Gurbetçi Rocky’nin komik hikayesi: BERLİN KAPLANI
- Uluslararası Çok Satan Üçlemeden :EJDERHA DÖVMELİ KIZ
- Hoşgeldin 2012
- Geri sayım başlasın ! : YILBAŞI GECESİ
- Plansız.Desteksiz.Seçimsiz :GÖREVİMİZ TEHLİKE 4
- Akıllı ve karizmatik dedektif Sherlock Holmes, en büyük düşmanı Profesör Moriarty’e karşı : Sherlock Holmes: Gölge Oyunları
Son Yorumlar
- Lost’un yaratıcısı J.J. Abrams’tan yeni dizi :ALCATRAZ için Güray
- Aşkın klişelerine karşı alaycı bir tavır takınmak,sizi gerçek aşka karşı kör mü yapar?: ARKADAŞTAN ÖTE için genceaydin
- Windows 7 Kurulum Sorunu (Çözümü) için Güray
- Windows 7 Kurulum Sorunu (Çözümü) için expert_-_man
- Müzik dinlemenin en hızlı ve en kolay yolu myFizy.com için Güray
- 64 bit İşletim Sisteminde 32 bitlik dll ve ocx Dosyalarını .Net’le(Dotnet) import Etme Sorununun Çözümü için Umut Sinan Şirin
- 64 bit İşletim Sisteminde 32 bitlik dll ve ocx Dosyalarını .Net’le(Dotnet) import Etme Sorununun Çözümü için gurultu12
- 64 bit İşletim Sisteminde 32 bitlik dll ve ocx Dosyalarını .Net’le(Dotnet) import Etme Sorununun Çözümü için Umut Sinan Şirin
- 64 bit İşletim Sisteminde 32 bitlik dll ve ocx Dosyalarını .Net’le(Dotnet) import Etme Sorununun Çözümü için gurultu12
- İhanet Noktası (Dan Brown) için pesimist
En Çok Okunanlar
- Eset Nod32 Antivirüs ekrn.exe Sorunu (Çözümü) - 20.895 kere okundu.
- Windows 7 Kurulum Sorunu (Çözümü) - 15.529 kere okundu.
- Skyfire 4.3.2.1_3001 Hatası (Symbian ve Windows Mobile Çözümü) - 13.084 kere okundu.
- Nokia 5800 Temaları - 11.868 kere okundu.
- Golden Retriever - 11.347 kere okundu.
- Kilyos - 9.627 kere okundu.
- Şemsiye Tarihçesi - 8.583 kere okundu.
- “o” an fotoğrafları - 7.273 kere okundu.
- Prag - 6.752 kere okundu.
- Nokia 5800 Programlar 1 - 5.872 kere okundu.
- IPhone 2 Çıktı ve Satışta.. - 5.169 kere okundu.
- Barış Manço - 4.935 kere okundu.
- Sigarayı İlk Kim Keşfetti? - 4.925 kere okundu.
- BİSİKLET - 4.590 kere okundu.
- Windows XP’nin Ölüm Tarihi Uzatıldı - 4.325 kere okundu.
Etiket Bulutu
WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.


Bu Yazı 1.234 kere okundu.