C# LINQ基本用法(4) ---LINQ To DataSet

来源:互联网 发布:编程世界 编辑:程序博客网 时间:2024/05/22 05:16
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;/*--------------------------------------------- * 标题:LINQ to DataSet 基本用法; * 作者:靳志远(jack15850798154) * 时间:2010-03-19 * 地点:江苏南京 * 说明 :通过 LINQ来实现对数据库的排序,获取数据前几条数据 等基本操作。 *----------------------------------------------  */namespace LinqOperDataSet{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        string strcon = "Data Source=(local);Database=master; uid=sa;pwd=sql;";        SqlConnection sqlcon;        SqlCommand sqlcmd;        SqlDataAdapter adapter;        DataSet  ds;        //Linq通过Datable来进行数据源的绑定同时进行升序还是降序排列;        private void button1_Click(object sender, EventArgs e)        {            sqlcon = new SqlConnection(strcon);            sqlcmd = new SqlCommand("select * from a", sqlcon);            adapter = new SqlDataAdapter(sqlcmd);            ds = new DataSet();            adapter.Fill(ds, "a");            var query = from aaa in ds.Tables["a"].AsEnumerable()                         orderby aaa.Field<int>("id") ascending//升序为ascending;                        //orderby aaa.Field<int>("id") descending //为降序;                         select aaa;            DataTable mydatatable = query.CopyToDataTable<DataRow>();            dataGridView1.DataSource = mydatatable;        }        //LINQ绑定数据源。        private void Form1_Load(object sender, EventArgs e)        {            sqlcon = new SqlConnection(strcon);            sqlcmd = new SqlCommand("select * from a", sqlcon);            adapter = new SqlDataAdapter(sqlcmd);            ds = new DataSet();            adapter.Fill(ds, "a");            var query = from aaa in ds.Tables["a"].AsEnumerable()                        select aaa;            DataTable mydatatable = query.CopyToDataTable<DataRow>();            dataGridView1.DataSource = mydatatable;        }        //LInq获取前五条数据;        private void button2_Click(object sender, EventArgs e)        {            sqlcon = new SqlConnection(strcon);            sqlcmd = new SqlCommand("select * from a", sqlcon);            adapter = new SqlDataAdapter(sqlcmd);            ds = new DataSet();            adapter.Fill(ds, "a");            var query = from aaa in ds.Tables["a"].AsEnumerable()                        orderby aaa.Field<int>("id") ascending//升序为ascending;                        //orderby aaa.Field<int>("id") descending //为降序;                         select aaa;            var result = query.Take(5);            DataTable mydatatable = result.CopyToDataTable<DataRow>();            dataGridView1.DataSource = mydatatable;        }        //刷新页面。        private void button4_Click(object sender, EventArgs e)        {            Form1_Load(sender, e);        }        //LINQ 数据的汇总;       private void button3_Click(object sender, EventArgs e)        {            sqlcon = new SqlConnection(strcon);            adapter = new SqlDataAdapter("select * from a", sqlcon);            DataSet myds = new DataSet();            adapter.Fill(myds,"a");            var query = from aaa in myds.Tables["a"].AsEnumerable()   //a为表名;                        select aaa;            int intsum = query.Sum(aaa=>aaa.Field<int>("lever"));   //lever为字段名;           //新建立一个DataTable;            DataTable myDTable = new DataTable();            myDTable.Columns.Add("水平汇总");            DataRow mydrow = myDTable.NewRow();            mydrow["水平汇总"] = intsum;            myDTable.Rows.Add(mydrow);            dataGridView1.DataSource = myDTable;            dataGridView1.Columns[0].Width = 120;        }    }}


 

原创粉丝点击