Use a relationship with a calculated column : DataColumn « ADO.Net « C# / CSharp Tutorial






using System;
using System.Data;
using System.Data.SqlClient;

public class CalculatedColumn
{
    public static void Main() 
    {
        string connectionString = "Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI";
        string SQL = "SELECT * FROM Categories";

        SqlConnection con = new SqlConnection(connectionString);
        SqlCommand cmd = new SqlCommand(SQL, con);
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();

        con.Open();
        adapter.Fill(ds, "Categories");
    
        cmd.CommandText = "SELECT * FROM Products";
        adapter.Fill(ds, "Products");
        con.Close();
        DataColumn parentCol = ds.Tables["Categories"].Columns["CategoryID"];
        DataColumn childCol = ds.Tables["Products"].Columns["CategoryID"];
        DataRelation relation = new DataRelation("Cat_Prod", parentCol,childCol);
        ds.Relations.Add(relation);

        ds.Tables["Categories"].Columns.Add("AveragePrice", typeof(Decimal), "AVG(Child(Cat_Prod).UnitPrice)");
        ds.Tables["Categories"].Columns.Add("TotalPrice", typeof(Decimal), "SUM(Child(Cat_Prod).UnitPrice)");

        foreach (DataRow row in ds.Tables["Categories"].Rows)
        {
            Console.WriteLine(row["CategoryName"]);
            Console.WriteLine(row["AveragePrice"]);
            Console.WriteLine(row["TotalPrice"]);
        }
    }
}








32.37.DataColumn
32.37.1.Use a relationship with a calculated column
32.37.2.Set auto increment, seed and step for primary key column
32.37.3.Output DataSet as Binary file
32.37.4.Find data by primary key, if not found add to database
32.37.5.Creating an Autoincrementing Primary Key
32.37.6.Add an expression column to the table