Sil etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Sil etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
LINQ Query Expressions
Sinan Arslan
Merhaba Arakdaşlar,
Kuzey Rüzgari veri tabanı üzerinde daha önceden mssql alt sorgular kısmında paylaşmış olduğum t-sql sorgularının linq Expressions'ları ile uygulama geliştiriyor olacağız.
Soru 1) Hangi kategoriden kaç birim Urun var
var sorgu = from urun in db.Products
join kategori in db.Categories on urun.CategoryID equals kategori.CategoryID
group urun by kategori.CategoryName into grup
select new {
grup.Key,
UrunAdeti= grup.Sum(x=>x.ProductID)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 2) Musterilerin gerçekleştirdiği ilk siparis tarihi
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
group satis by musteri.CompanyName into grup
select new
{
grup.Key,
SatisTarihi= grup.Min(x=>x.OrderDate),
}).OrderBy(x=>x.SatisTarihi);
dgvSonuc.DataSource = sorgu.ToList();
Soru 3) 03.03.1997 yılında yapılan Siparisler gelsin
DateTime tarih= Convert.ToDateTime(txtTarih.Text);
var sorgu = from satis in db.Orders
where satis.OrderDate == tarih
select satis;
dgvSonuc.DataSource = sorgu.ToList();
Soru 4) siparişler Tablosunda en küçük sipariş tarihi gelsin
var sorgu = (from satis in db.Orders
group satis by satis into grup
select new {
EnkucukTarih= grup.Min(x=>x.OrderDate)
}).Take(1).ToList();
dgvSonuc.DataSource = sorgu;
Soru 5) Firmların yaptıkları ilk sipariş tarihleri gelsin
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
group satis by satis.Customer.CompanyName into grup
select new
{
SiparisSahibi= grup.Key,
SiparisTarihi= grup.Min(x=>x.OrderDate)
}).OrderByDescending(x=>x.SiparisTarihi).ToList();
dgvSonuc.DataSource = sorgu;
Soru 6) Siparis adeti 4 den buyuk sirketler gelsin
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
where musteri.CustomerID==satis.CustomerID
group musteri by musteri into grup
select new
{
FirmaAdi = grup.Key.CompanyName,
MusteriAdi= grup.Key.CustomerID,
SatisAdeti = grup.Count(),
}).Where(x => x.SatisAdeti > 4).ToList();
dgvSonuc.DataSource = sorgu;
int sayi = sorgu.Count();
Soru 7) Ürünler tablosunda ne kadar ürün var
var sorgu = (from urun in db.Products
select urun).Sum(x => x.UnitsInStock);
//yada
var sorgu2= db.Products.Sum(x => x.UnitsInStock);
MessageBox.Show(sorgu2.ToString());
Soru 8) Hangi üründen Kaç birim Stock var
var sorgu = from urun in db.Products
group urun by urun into grup
select new {
UrunAdi= grup.Key.ProductName,
Adeti=grup.Sum(x=>x.UnitsInStock)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 9) Hangi Kategoriden kaç birim urun var
var sorgu = from kategori in db.Categories
join urun in db.Products on kategori.CategoryID equals urun.CategoryID
group urun by urun.Category.CategoryName into grup
select new
{
KategoriAdi= grup.Key,
Adet=grup.Sum(x=>x.UnitsInStock)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 10 ) Kac farklı ülkeye satış yapılmış
var sorgu = (from satis in db.Orders
select new { satis.ShipCountry }).Distinct();
dgvSonuc.DataSource = sorgu.ToList();
yada
var sorgu2 = from satis in db.Orders
group satis by satis.ShipCountry into grup
select new { UlkeAdi=grup.Key };
dgvSonuc.DataSource = sorgu2.ToList();
Soru 12) hangi Ulkeye Kaçtane Siparis yapıldı
var sorgu = from satis in db.Orders
group satis by satis.ShipCountry into grup
select new {
UlkeAdi= grup.Key,
SiparisAdet= grup.Count()
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 13 )1996 yılında hangi ülkeye kaçtane sipariş gitmiş
var sorgu = from satis in db.Orders
where satis.OrderDate.Value.Year==1996
group satis by satis.ShipCountry into grup
select new {
UlkeAdi=grup.Key,
Adeti= grup.Count(),
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 14) 1996 yılında hangi ülkeye kaçtane sipariş gitmiş ve siparis sayısı 15 den büyük olan kayıtlar gelsin
var sorgu = (from satis in db.Orders
where satis.OrderDate.Value.Year == 1996
group satis by satis.ShipCountry into grup
select new
{
UlkeAdi = grup.Key,
Adeti = grup.Count(),
});
dgvSonuc.DataSource = sorgu.ToList();
Soru 15 ) Ülkelere giden kargoların ülke bazında ortalama taşıma ücretini çokdan aza sıralayınız
var sorgu = (from satis in db.Orders
group satis by satis.ShipCountry into grup
select new
{
UlkeAdi=grup.Key,
TasimaUcreti= grup.Average(x=>x.Freight)
}).OrderByDescending(x=>x.TasimaUcreti);
dgvSonuc.DataSource = sorgu.ToList();
Soru 16 ) Çalışanların ünvanlarının sayısı
var sorgu = (from calisan in db.Employees
group calisan by calisan.TitleOfCourtesy into grup
select new {
Unvan= grup.Key,
Adet=grup.Count()
}).OrderByDescending(x=>x.Adet);
dgvSonuc.DataSource = sorgu.ToList();
Soru 17) En yüksek ortalama uçuş fiyatı hangi ülkeye gitmiştir
var sorgu = (from satis in db.Orders
group satis by satis.ShipCountry into grup
select new {
Ulke= grup.Key,
OrtalamaUcusFiyat= grup.Average(x=>x.Freight)
}).OrderByDescending(x=>x.OrtalamaUcusFiyat).Take(1);
dgvSonuc.DataSource = sorgu.ToList();
Soru 18) Şimdiye kadar satılan ürünlerden nekadar hasılat elde ettik
var sorgu = from satisdetay in db.Order_Details
join urun in db.Products on satisdetay.ProductID equals urun.ProductID
group satisdetay by urun.ProductName into grup
select new
{
UrunAdi = grup.Key,
AraToplam = grup.Sum(x => (x.Quantity * x.UnitPrice) )
};
dgvSonuc.DataSource = sorgu.ToList();
Şimdi İse Entity Framework'de Crud İşlemlerine(Düzenle Sil Ekle Listele) ve Lazy Loading, Eager Loading 'e Bakalım Proje İndir
Video Anlatım
Uygulama 2 indir
Kuzey Rüzgari veri tabanı üzerinde daha önceden mssql alt sorgular kısmında paylaşmış olduğum t-sql sorgularının linq Expressions'ları ile uygulama geliştiriyor olacağız.
Soru 1) Hangi kategoriden kaç birim Urun var
var sorgu = from urun in db.Products
join kategori in db.Categories on urun.CategoryID equals kategori.CategoryID
group urun by kategori.CategoryName into grup
select new {
grup.Key,
UrunAdeti= grup.Sum(x=>x.ProductID)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 2) Musterilerin gerçekleştirdiği ilk siparis tarihi
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
group satis by musteri.CompanyName into grup
select new
{
grup.Key,
SatisTarihi= grup.Min(x=>x.OrderDate),
}).OrderBy(x=>x.SatisTarihi);
dgvSonuc.DataSource = sorgu.ToList();
Soru 3) 03.03.1997 yılında yapılan Siparisler gelsin
DateTime tarih= Convert.ToDateTime(txtTarih.Text);
var sorgu = from satis in db.Orders
where satis.OrderDate == tarih
select satis;
dgvSonuc.DataSource = sorgu.ToList();
Soru 4) siparişler Tablosunda en küçük sipariş tarihi gelsin
var sorgu = (from satis in db.Orders
group satis by satis into grup
select new {
EnkucukTarih= grup.Min(x=>x.OrderDate)
}).Take(1).ToList();
dgvSonuc.DataSource = sorgu;
Soru 5) Firmların yaptıkları ilk sipariş tarihleri gelsin
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
group satis by satis.Customer.CompanyName into grup
select new
{
SiparisSahibi= grup.Key,
SiparisTarihi= grup.Min(x=>x.OrderDate)
}).OrderByDescending(x=>x.SiparisTarihi).ToList();
dgvSonuc.DataSource = sorgu;
Soru 6) Siparis adeti 4 den buyuk sirketler gelsin
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
where musteri.CustomerID==satis.CustomerID
group musteri by musteri into grup
select new
{
FirmaAdi = grup.Key.CompanyName,
MusteriAdi= grup.Key.CustomerID,
SatisAdeti = grup.Count(),
}).Where(x => x.SatisAdeti > 4).ToList();
dgvSonuc.DataSource = sorgu;
int sayi = sorgu.Count();
Soru 7) Ürünler tablosunda ne kadar ürün var
var sorgu = (from urun in db.Products
select urun).Sum(x => x.UnitsInStock);
//yada
var sorgu2= db.Products.Sum(x => x.UnitsInStock);
MessageBox.Show(sorgu2.ToString());
Soru 8) Hangi üründen Kaç birim Stock var
var sorgu = from urun in db.Products
group urun by urun into grup
select new {
UrunAdi= grup.Key.ProductName,
Adeti=grup.Sum(x=>x.UnitsInStock)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 9) Hangi Kategoriden kaç birim urun var
var sorgu = from kategori in db.Categories
join urun in db.Products on kategori.CategoryID equals urun.CategoryID
group urun by urun.Category.CategoryName into grup
select new
{
KategoriAdi= grup.Key,
Adet=grup.Sum(x=>x.UnitsInStock)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 10 ) Kac farklı ülkeye satış yapılmış
var sorgu = (from satis in db.Orders
select new { satis.ShipCountry }).Distinct();
dgvSonuc.DataSource = sorgu.ToList();
yada
var sorgu2 = from satis in db.Orders
group satis by satis.ShipCountry into grup
select new { UlkeAdi=grup.Key };
dgvSonuc.DataSource = sorgu2.ToList();
Soru 12) hangi Ulkeye Kaçtane Siparis yapıldı
var sorgu = from satis in db.Orders
group satis by satis.ShipCountry into grup
select new {
UlkeAdi= grup.Key,
SiparisAdet= grup.Count()
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 13 )1996 yılında hangi ülkeye kaçtane sipariş gitmiş
var sorgu = from satis in db.Orders
where satis.OrderDate.Value.Year==1996
group satis by satis.ShipCountry into grup
select new {
UlkeAdi=grup.Key,
Adeti= grup.Count(),
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 14) 1996 yılında hangi ülkeye kaçtane sipariş gitmiş ve siparis sayısı 15 den büyük olan kayıtlar gelsin
var sorgu = (from satis in db.Orders
where satis.OrderDate.Value.Year == 1996
group satis by satis.ShipCountry into grup
select new
{
UlkeAdi = grup.Key,
Adeti = grup.Count(),
});
dgvSonuc.DataSource = sorgu.ToList();
Soru 15 ) Ülkelere giden kargoların ülke bazında ortalama taşıma ücretini çokdan aza sıralayınız
var sorgu = (from satis in db.Orders
group satis by satis.ShipCountry into grup
select new
{
UlkeAdi=grup.Key,
TasimaUcreti= grup.Average(x=>x.Freight)
}).OrderByDescending(x=>x.TasimaUcreti);
dgvSonuc.DataSource = sorgu.ToList();
Soru 16 ) Çalışanların ünvanlarının sayısı
var sorgu = (from calisan in db.Employees
group calisan by calisan.TitleOfCourtesy into grup
select new {
Unvan= grup.Key,
Adet=grup.Count()
}).OrderByDescending(x=>x.Adet);
dgvSonuc.DataSource = sorgu.ToList();
Soru 17) En yüksek ortalama uçuş fiyatı hangi ülkeye gitmiştir
var sorgu = (from satis in db.Orders
group satis by satis.ShipCountry into grup
select new {
Ulke= grup.Key,
OrtalamaUcusFiyat= grup.Average(x=>x.Freight)
}).OrderByDescending(x=>x.OrtalamaUcusFiyat).Take(1);
dgvSonuc.DataSource = sorgu.ToList();
Soru 18) Şimdiye kadar satılan ürünlerden nekadar hasılat elde ettik
var sorgu = from satisdetay in db.Order_Details
join urun in db.Products on satisdetay.ProductID equals urun.ProductID
group satisdetay by urun.ProductName into grup
select new
{
UrunAdi = grup.Key,
AraToplam = grup.Sum(x => (x.Quantity * x.UnitPrice) )
};
dgvSonuc.DataSource = sorgu.ToList();
Şimdi İse Entity Framework'de Crud İşlemlerine(Düzenle Sil Ekle Listele) ve Lazy Loading, Eager Loading 'e Bakalım Proje İndir
Video Anlatım
Uygulama 2 indir
11:27
Düzenle
,
Eager Loading
,
Ekle
,
Entity Framework'de Crud İşlemleri
,
Lazy Loading
,
LINQ Query Expressions
,
Listele
,
Sil
Asp.Net DataList Kullanımı Detaylı Anlatım
Sinan Arslan
Merhaba Arakadaşlar,
Bu bölümde Asp.Net üzerindeki container yapılarından ilk örneğimiz olan DataList kullanımına bkaıyor olacağız.Öncelikle container nedir buna kısaca değinelim.İçersinde birden fazla toolbox elemanı olan (textbox,label,linkbutton vs) ve bunlara direk ıdlerini vererek erişim sağlayamadığımız,containerimiz içinde
belli bir arama işlemine tabi tutularak yakalayabildiğimiz yapılardır.Şimdi söylediklerimizi bir örnekle açıklıyor olalım.Default.aspx sayfamızın source bölümünü aşağıdaki gibi düzenleyelim
Bu bölümde Asp.Net üzerindeki container yapılarından ilk örneğimiz olan DataList kullanımına bkaıyor olacağız.Öncelikle container nedir buna kısaca değinelim.İçersinde birden fazla toolbox elemanı olan (textbox,label,linkbutton vs) ve bunlara direk ıdlerini vererek erişim sağlayamadığımız,containerimiz içinde
belli bir arama işlemine tabi tutularak yakalayabildiğimiz yapılardır.Şimdi söylediklerimizi bir örnekle açıklıyor olalım.Default.aspx sayfamızın source bölümünü aşağıdaki gibi düzenleyelim
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DataListKullanimi.Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:DataList ID="DataList1" runat="server" CellPadding="4" DataKeyField="KategoriID" DataSourceID="SqlDataSource1" RepeatColumns="3" ForeColor="#333333" onitemcommand="DataList1_ItemCommand"> <AlternatingItemStyle BackColor="White" ForeColor="#284775" /> <EditItemTemplate> Aciklama : <asp:TextBox ID="txtAciklama" runat="server"></asp:TextBox><br /> KategoriAdi: <asp:TextBox ID="txtKategoriAdi" runat="server"></asp:TextBox><br /> <asp:LinkButton ID="lnkGuncelle" runat="server" CommandArgument='<%#Eval("KategoriID") %>' CommandName="update">Guncelle</asp:LinkButton> <br /> <asp:LinkButton ID="lnkVazgec" runat="server" CommandArgument='<%#Eval("KategoriID") %>' CommandName="cancel">Vazgeç</asp:LinkButton> </EditItemTemplate> <FooterStyle BackColor="#5D7B9D" ForeColor="White" Font-Bold="True" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <ItemStyle BackColor="#F7F6F3" ForeColor="#333333" /> <ItemTemplate> Aciklama: <asp:Label ID="AciklamaLabel" runat="server" Text='<%# Eval("Aciklama") %>' /> <br /> KategoriAdi: <asp:Label ID="KategoriAdiLabel" runat="server" Text='<%# Eval("KategoriAdi") %>' /> <br /> KategoriID: <asp:Label ID="KategoriIDLabel" runat="server" Text='<%# Eval("KategoriID") %>' /> <br /> <asp:LinkButton ID="lnkDuzenle" CommandName="edit" CommandArgument='<%#Eval("KategoriID") %>' runat="server">Düzenle</asp:LinkButton> <br /> <asp:LinkButton ID="lnkSil" CommandName="delete" CommandArgument='<%#Eval("KategoriID") %>' runat="server">Sil</asp:LinkButton> </ItemTemplate> <SelectedItemStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> </asp:DataList> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConflictDetection="CompareAllValues" ConnectionString="<%$ ConnectionStrings:KuzeyRuzgariConnectionString %>" DeleteCommand="DELETE FROM [Kategoriler] WHERE [KategoriID] = @original_KategoriID AND (([Aciklama] = @original_Aciklama) OR ([Aciklama] IS NULL AND @original_Aciklama IS NULL)) AND [KategoriAdi] = @original_KategoriAdi" InsertCommand="INSERT INTO [Kategoriler] ([Aciklama], [KategoriAdi]) VALUES (@Aciklama, @KategoriAdi)" OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT [Aciklama], [KategoriAdi], [KategoriID] FROM [Kategoriler]" UpdateCommand="UPDATE [Kategoriler] SET [Aciklama] = @Aciklama, [KategoriAdi] = @KategoriAdi WHERE [KategoriID] = @original_KategoriID AND (([Aciklama] = @original_Aciklama) OR ([Aciklama] IS NULL AND @original_Aciklama IS NULL)) AND [KategoriAdi] = @original_KategoriAdi"> <DeleteParameters> <asp:Parameter Name="original_KategoriID" Type="Int32" /> <asp:Parameter Name="original_Aciklama" Type="String" /> <asp:Parameter Name="original_KategoriAdi" Type="String" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="Aciklama" Type="String" /> <asp:Parameter Name="KategoriAdi" Type="String" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="Aciklama" Type="String" /> <asp:Parameter Name="KategoriAdi" Type="String" /> <asp:Parameter Name="original_KategoriID" Type="Int32" /> <asp:Parameter Name="original_Aciklama" Type="String" /> <asp:Parameter Name="original_KategoriAdi" Type="String" /> </UpdateParameters> </asp:SqlDataSource> </div> </form> </body> </html>
========================================================================
Daha Sonrasında vermiş olduğumuz SqlDataSource 'mız üzerinde nasıl
yaptık buna bakalım
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 DataListKullanimi { public partial class Default : System.Web.UI.Page { SqlConnection cnn = new SqlConnection("Server=.;Database=KuzeyRuzgari;trusted_connection=true"); protected void Page_Load(object sender, EventArgs e) { } //Propertiesden Verilen CommandNameleri Sil delete Guncelle update,Vazgec cancel //e.item -> Tıklanan Satırı yakalıyor olacak // e.CommandName = tıklananın adını verir protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) { bool sonuc = false; if (e.CommandName == "delete") { sonuc = KategoriSil(Convert.ToInt32(e.CommandArgument)); if (sonuc) { DataList1.DataBind();//Bu Satır Yazılmaşsa hata } } if (e.CommandName == "edit") { DataList1.EditItemIndex = e.Item.ItemIndex;// bütün datalist içersinde editlecek satırı bul DataList1.DataBind(); } if (e.CommandName == "update") { TextBox KategoriAdi = (TextBox)e.Item.FindControl("txtKategoriAdi"); TextBox Aciklama = (TextBox)e.Item.FindControl("txtAciklama"); sonuc = KategoriGuncelle(Convert.ToInt32(e.CommandArgument),KategoriAdi.Text,Aciklama.Text); if (sonuc) { DataList1.EditItemIndex = -1;// secileni bırak DataList1.DataBind(); } } if (e.CommandName == "cancel") { DataList1.EditItemIndex = -1;// secileni bırak DataList1.DataBind(); } } private bool KategoriGuncelle(int ID, string kategoriAdi, string aciklama) { bool sonuc = false; SqlCommand cmd = new SqlCommand("UPDATE Kategoriler set KategoriAdi=@KatAdi,Aciklama=@Aciklama where KategoriID=@KatID ", cnn); cmd.Parameters.AddWithValue("@KatAdi",kategoriAdi); cmd.Parameters.AddWithValue("@Aciklama",aciklama); cmd.Parameters.AddWithValue("@KatID",ID); try { if (cnn.State == ConnectionState.Closed) cnn.Open(); sonuc = Convert.ToBoolean(cmd.ExecuteNonQuery()); } catch (SqlException ex) { string hata = ex.Message; } finally { cnn.Close(); } return sonuc; } private bool KategoriSil(int ID) { bool sonuc = false; SqlCommand cmd = new SqlCommand("Delete From Kategoriler where KategoriID=@KatID", cnn); cmd.Parameters.AddWithValue("@KatID", ID); try { if (cnn.State == ConnectionState.Closed) { cnn.Open(); } sonuc = Convert.ToBoolean(cmd.ExecuteNonQuery()); } catch (SqlException ex) { string Hata = ex.Message; } finally { cnn.Close(); } return sonuc; } } }
Umarım Faydalı olur
05:13
Asp.Net
,
Datalist
,
DataList Kullanımı Detaylı Anlatım
,
Secili Satır Guncelle
,
Sil
,
Vazgec
Kaydol:
Kayıtlar
(
Atom
)
