C#.Net & Linq (Language Integrated Query) Adım-1 Adım-2 Adım-3: aşağıdaki ekran gelir. Bu ekrandan Server Explorer seçeneği ile SQL sunucuya bağlanılırsa Adım-4 deki gibi bir ekran gelir
Adım-4: Soldaki Tables dan isteten tablo sürüklenip sağ tarafa atılır. Yine Sol taraftaki Stored Procedures bölümünden istenilen stored procedure Mouse ile sürüklenip bırakılır.
Adım-5: Yukarıdaki adımlardan sonra program aşağıdaki gibi bir ekran olur. Burada program içerisinde kullanılacak tablolar ve stored procedureler vardır.
using System.Data.Linq; // Yoksa Eklenir. // Linq suncuya bağlanti için gerekli kodlar. Aynen normal bağlantıda olduğu gibi DataClasses1DataContext MyDb = new DataClasses1DataContext("Data Source=(local); Initial catalog=webhaber; Integrated Security=true;");
//Linq ile SQL kodlarının kullanımı (INSERT) private void button8_click(object sender, EventArgs e) MyDb.ExecuteCommand("insert into duyuru(konu,baslik) values(0,1)", textbox1.text, textbox2.text); datagridview1.datasource = MyDb.duyuruGetir(); //listbox1.items.add(mydb.log); //Linq ile SQL kodlarının kullanımı (UPDATE) private void button9_click(object sender, EventArgs e) MyDb.ExecuteCommand("update duyuru set baslik=0 where ID=1", textbox1.text, textbox2.text); datagridview1.datasource = MyDb.duyuruGetir(); public class MyDocument public int ID set; get; public string baslik set; get; public string icerik set; get; private void button10_click(object sender, EventArgs e) var res = MyDb.ExecuteQuery <MyDocument>("SELECT ID,baslik,icerik FROM duyuru").tolist(); datagridview1.datasource = res; private void button5_click(object sender, EventArgs e) datagridview1.datasource = MyDb.duyuruGetir();// provedure Çağır // Linq ile Ekle Procedure kullanımı private void button7_click(object sender, EventArgs e) MyDb.duyur_ekle(textBox1.Text, textbox2.text); MessageBox.Show("eklendi");
// Linq İle sorgu oluşturma private void button2_click(object sender, EventArgs e) var sonuc1 =from a in MyDb.duyuruGetir() // duyurugetir() isimli stored procedure çağrılıp where a.baslik.startswith("a") // baslik bilgisi A ile başlayanlar orderby a.baslama_tarihi ascending // baslma_tarihi bilgisine göre küçükten büyüğe sıralanır select a; // elde edilen bilgi sonuc1 değişkenine alınır datagridview1.datasource = sonuc1; // duyurugetir() proceduresinden elde edilen bilgi listbox1 e aktarılır var sonuc2= MyDb.duyuruGetir(); foreach( var s in sonuc2 ) listbox1.items.add(s.baslik); datagridview2.datasource = MyDb.duyuruGetir(); // duyurugetir() proseduresinden ele deilen bilgi gride konur private void button3_click(object sender, EventArgs e) var q = from a in MyDb.duyuruGetir() select a; datagridview1.datasource = q; foreach (var s in q) listbox1.items.add(s.konu); // Tabaloyu Kullanma private void button4_click(object sender, EventArgs e) var menu = from A in MyDb.menus where A.baslik == "İLETİŞİM" select A; datagridview1.datasource = menu; foreach (var item in menu) listbox1.items.add(item.link); //Linq ile Output parametreli store procedure kullanımı
private void button6_click(object sender, EventArgs e) //create proc [dbo].[duyurugetir_out] @ID Varchar(10), @sayac Varchar(10) OUTPUT AS //select * from duyuru //select @sayac=icerik from duyuru where ID=@ID string sayac = string.empty; MyDb.duyuruGetir_out("1", ref sayac); this.text=sayac; //Linq ile Output parametreli store procedure kullanımı private void button6_click(object sender, EventArgs e) //create proc [dbo].[duyurugetir_out] @ID Varchar(10), @sayac Varchar(10) OUTPUT AS //select * from duyuru //select @sayac=icerik from duyuru where ID=@ID string sayac = string.empty; MyDb.duyuruGetir_out("1", ref sayac); this.text=sayac; // Listele private void Listele_Click(object sender, EventArgs e) DataClasses1DataContext x = new DataClasses1DataContext(); var liste= from k in x.duyuru where k.id=="101" select k; datagridview1.datasource = liste;
************* SINIFTA ÇÖZÜLEN ÖRNEK **********************
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; // LINQ için using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication3 public partial class Form1 : Form
public Form1() InitializeComponent(); DataClasses1DataContext bag = new DataClasses1DataContext("Data source=mi-pc\\mi;initial Catalog=ABCD;Integrated Security=true;"); // Listele private void Listele_Click(object sender, EventArgs e) DataClasses1DataContext x = new DataClasses1DataContext(); var liste= from k in x.personels where k.tcno=="101" select k; datagridview1.datasource = liste; // datagridview1.datasource = bag.personel_listele(); //ekle private void button2_click(object sender, EventArgs e) bag.personel_ekle( textbox1.text, textbox2.text, textbox3.text); // ekle private void button1_click(object sender, EventArgs e) bag.executecommand(" insert into personel(tcno,ad,soyad) VALUES (0,1,2)", textbox1.text, textbox2.text, textbox3.text); private void button3_click(object sender, EventArgs e) bag.executecommand("delete from personel where tcno=0", textbox1.text); public class MyDocument public string tcno get; set; public string ad get; set; public string soyad get; set; private void button4_click(object sender, EventArgs e) var x = bag.executequery <MyDocument>("Select tcno, ad, soyad from personel").tolist();
datagridview1.datasource = x; foreach (var a in x) listbox1.items.add(a.tcno+" "+ a.ad+" "+ a.soyad );