ASP.NET Tutorial/ADO.net Database/DataColumn

Материал из .Net Framework эксперт
Версия от 14:56, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Calculated Column

   <source lang="csharp">

<%@ Page language="c#" Inherits="CalculatedColumn" CodeFile="Default.aspx.cs" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML>

 <HEAD>
   <title>CalculatedColumn</title>
 </HEAD>
 <body>
   <form id="Form1" method="post" runat="server">
     <asp:GridView id="GridView1" runat="server"></asp:GridView>
   </form>
 </body>

</HTML> File: Default.aspx.cs using System; using System.Collections; using System.ruponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient;

public partial class CalculatedColumn : System.Web.UI.Page {

 protected void Page_Load(object sender, System.EventArgs e)
 {
   string connectionString = "Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI";
   SqlConnection con = new SqlConnection(connectionString);
   string sqlCat = "SELECT CategoryID, CategoryName FROM Categories";
   string sqlProd = "SELECT ProductName, CategoryID, UnitPrice FROM Products";
   SqlDataAdapter da = new SqlDataAdapter(sqlCat, con);
   DataSet ds = new DataSet();
   try
   {
     con.Open();
     da.Fill(ds, "Categories");
     da.SelectCommand.rumandText = sqlProd;
     da.Fill(ds, "Products");
   }
   finally
   {
     con.Close();
   }
   DataRelation relat = new DataRelation("CatProds",ds.Tables["Categories"].Columns["CategoryID"],ds.Tables["Products"].Columns["CategoryID"]);
   ds.Relations.Add(relat);
   DataColumn count = new DataColumn("Products (#)", typeof(int),"COUNT(Child(CatProds).CategoryID)");
   DataColumn max = new DataColumn("Most Expensive Product", typeof(decimal),"MAX(Child(CatProds).UnitPrice)");
   DataColumn min = new DataColumn("Least Expensive Product", typeof(decimal),"MIN(Child(CatProds).UnitPrice)");
   ds.Tables["Categories"].Columns.Add(count);
   ds.Tables["Categories"].Columns.Add(max);
   ds.Tables["Categories"].Columns.Add(min);
   GridView1.DataSource = ds.Tables["Categories"];
   GridView1.DataBind();
 }

}</source>