ASP.NET Tutorial/ADO.net Database/LINQ
A grid with an empty data source.
<source lang="csharp">
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
<title>Empty Grid</title>
</head> <body>
<form id="form1" runat="server"> <asp:SqlDataSource ID="SqlDataSource1" runat="server" EnableCaching="true" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" SelectCommand="SELECT customerid, companyname FROM customers WHERE customerid="none""> </asp:SqlDataSource> <asp:gridview ID="Gridview1" runat="server" datasourceid="SqlDataSource1"> <emptydatatemplate> <asp:label ID="Label1" runat="server"> There"s no data to show in this view. </asp:label> </emptydatatemplate> </asp:gridview> </form>
</body> </html></source>
Use Linq-to-DataSets to query against (typed) DataTables and DataSets using the LINQ syntax
<source lang="csharp">
<%@ Page Language="C#"
AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="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>Linq-to-DataSets</title>
</head> <body>
<form id="form1" runat="server">
<asp:Button ID="Button1" runat="server" Text="First 10 Days of Jan98" onclick="Button1_Click" /> <asp:GridView ID="GridView1" runat="server"> </asp:GridView>
</form>
</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Data.SqlClient; using System.Collections; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Xml.Linq; public partial class Default : System.Web.UI.Page {
protected void Button1_Click(object sender, EventArgs e) { string connString = "SERVER=(local);DATABASE=northwind;Trusted_Connection=yes;"; string cmd = "SELECT * FROM customers;SELECT * FROM orders"; SqlDataAdapter adapter = new SqlDataAdapter(cmd, connString); DataSet ds = new DataSet(); adapter.Fill(ds); var customers = ds.Tables[0].AsEnumerable(); var orders = ds.Tables[1].AsEnumerable(); var data = from o in orders join c in customers on o.Field<string>("CustomerID") equals c.Field<string>("CustomerID") where o.Field<DateTime>("OrderDate").Year == 1998 && o.Field<DateTime>("OrderDate").Month == 1 && o.Field<DateTime>("OrderDate").Day < 10 select new {OrderID=o.Field<int>("OrderID"), Company=c.Field<string>("CompanyName")}; GridView1.DataSource = data; GridView1.DataBind(); }
}</source>
use Linq-to-Objects to query against .NET collections using the LINQ syntax
<source lang="csharp">
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="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>Linq-to-Objects</title>
</head> <body>
<form id="form2" runat="server"> <asp:Button ID="Button1" runat="server" Text="Click" onclick="Button1_Click" /> </form>
</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Xml.Linq; public partial class Default : System.Web.UI.Page {
protected void Button1_Click(object sender, EventArgs e) { int[] fiboNumbers = new int[] { 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 }; var data0 = from n in fiboNumbers where n % 2 == 0 select n; Response.Write(data0.Count());Response.Write("
");
var data1 = (from n in fiboNumbers where n % 2 == 0 && n <10 select n).Sum(); Response.Write(data1); }
}</source>