现在的位置: 首页 > 综合 > 正文

使用LINQ实现对数据库单张表的基础增删改查操作

2018年04月18日 ⁄ 综合 ⁄ 共 3637字 ⁄ 字号 评论关闭

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.Linq;

namespace LinqTest
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GetData();
            }
        }
        LinqDataDataContext dc = new LinqDataDataContext(ConfigurationManager.ConnectionStrings["JMDAConnectionString"].ConnectionString);
        /// <summary>
        /// 使用LINQ查询整张表
        /// </summary>
        private void GetData()
        {
            var list = from g in dc.T_GRDA1
                       orderby g.Id
                       select g;
            //使用下面的方法可以实现一个分布的效果
            List<T_GRDA1> ArrayGrda = list.Skip(10 * (9 - 1)).Take(10).ToList();
            List<T_GRDA1> ArrayGrda1 = list.ToList();
          
            this.GridView1.DataSource = ArrayGrda1;
            this.GridView1.DataBind();
        }
        /// <summary>
        /// 使用LINQ添加数据
        /// </summary>
        protected void Button1_Click(object sender, EventArgs e)
        {
            GetUpdate();
            Response.Write("<script>alert('添加成功!')</script>");
        }

        private void GetUpdate()
        {
            T_GRDA1 tr = new T_GRDA1();
            tr.Name = txtName.Text;
            tr.Mobile = txtMobile.Text;
            tr.Address = txtAddress.Text;
            tr.Id = txtId.Text;
            dc.T_GRDA1.InsertOnSubmit(tr);
            dc.SubmitChanges();

        }
        /// <summary>
        /// 使用LINQ执行查询操作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button4_Click(object sender, EventArgs e)
        {
            var list = from g in dc.T_GRDA1
                       where g.Name.Contains( this.txtName .Text)
                       select g;
            List<T_GRDA1> ArrayData = list.ToList();
            this.GridView1.DataSource = ArrayData;
            this.GridView1.DataBind();
        }

        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            /// <summary>
            /// 使用LINQ执行修改
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            if (e.CommandName == "编辑")
            {
                T_GRDA1 grda = dc.T_GRDA1.Single(b=>b.Id==e.CommandArgument.ToString());
                this.txtId.Text = grda.Id.ToString();
                this.txtAddress.Text = grda.Address.ToString();
                this.txtMobile.Text = grda.Mobile.ToString();
                this.txtName.Text = grda.Name.ToString();
                GetUpdate();
                this.Response.Write("<script>alert('修改成功!')</script>");
            }
            /// <summary>
            /// 使用LINQ执行删除
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            else if (e.CommandName == "删除")
            {
                T_GRDA1 grda = dc.T_GRDA1.Single(b => b.Id == e.CommandArgument.ToString());
                dc.T_GRDA1.DeleteOnSubmit(grda);
                dc.SubmitChanges();
                GetData();
            }
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            var list = from g in dc.T_GRDA1
                        group g by g.Lay into b
                        select new T_GRDA1 { Id=b.Key };
            //foreach (var item in list)
            //{
            //    string strId = item.Id;
            //}
            List<T_GRDA1> arrayGrda = list.ToList();
            this.GridView1.DataSource = arrayGrda;
            this.GridView1.DataBind();
        }

        private List<T_GRDA1> getDataList()
        {
            var list = from g in dc.T_GRDA1
                       select g;
            return list.ToList();
        }

    }
}

抱歉!评论已关闭.