LinQ to Sql 分页,增,删,改 实例

原创 2012年03月27日 11:38:17

一、分页

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            BinderToGridView(1,2);
        }
    }

    /// <summary>
    /// 通过LinQ技术实现分页数据的提取
    /// </summary>
    /// <param name="pageIndex">要显示第几页数据</param>
    /// <param name="pageSize">每页显示的数据</param>
    private void BinderToGridView(int pageIndex,int pageSize)
    {
        //获取DataContext---获取映射文件---当我们对LinQDB进行对象操作的时候,自动生成相对应的Sql语句--OR
        LinQDBDataContext linqDB = new LinQDBDataContext();

        //以前我们的分页有2种方式
        //数据量大时,我们选择Sql语句分页
        //数据量不太大时,我们选择PagedDataSource实现分页
        var result= linqDB.User;

        //获取总页数
        int pageTotal = (result.Count() + pageSize - 1) / pageSize;
        this.DropDownList1.DataSource=System.Linq.Enumerable.Range(1, pageTotal).ToList<int>();
        this.DropDownList1.DataBind();

        //实现分页处理--跳过(pageIndex-1)*pageSize条记录,然后提取pageSize条记录
        this.GridView1.DataSource = result.Skip((pageIndex - 1) * pageSize).Take(pageSize);
        this.DataBind();
    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        int pIndex=int.Parse(this.DropDownList1.SelectedValue.ToString());
        BinderToGridView(pIndex, 2);
        this.DropDownList1.SelectedValue = pIndex.ToString();

    }
}

二、增,删,改 实例

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

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            GetRoles();
        }
    }

    private void GetRoles()
    {
        LinQDBDataContext linqDB = new LinQDBDataContext();
        this.rblRoles.DataSource= linqDB.Role.ToList<Role>();//获取所有角色信息并做为单选按钮组的数据源
        this.rblRoles.DataTextField = "RoleName";
        this.rblRoles.DataValueField = "RoleID";
        this.rblRoles.DataBind();
        this.rblRoles.Items[0].Selected = true;
    }
    //增
    protected void BtnRegister_Click(object sender, EventArgs e)
    {
        //判断数据库中是否存在
        LinQDBDataContext linqDB = new LinQDBDataContext();
        //获取所有用户信息
        int i= linqDB.User.Where(p=>p.UserName==this.TxtUsername.Text).Count();
        if (i > 0)
        {
            Response.Write("用户已经存在!");
            return;
        }
        //注册用户信息
        //OR映射实现注册

        //将要保存的信息封装在对象内部,然后利用OR映射将对象转化为SQL语句
        User u = new User();
        u.UserName = this.TxtUsername.Text;
        u.UserPassword = this.TxtPassword.Text;
        u.RoleID = int.Parse(this.rblRoles.SelectedValue);
        //在容器中添加一个新对象
        linqDB.User.InsertOnSubmit(u);
        //更新到数据库
        linqDB.SubmitChanges();
    }
    //改
    protected void BtnUpdate_Click(object sender, EventArgs e)
    {
        //判断数据库中是否存在
        LinQDBDataContext linqDB = new LinQDBDataContext();
        //用户是否存在
        int i = linqDB.User.Where(p => p.UserName == this.TxtUsername.Text).Count();
        if (i > 0)
        {
           User u= linqDB.User.Where(p => p.UserName == this.TxtUsername.Text).Single();
           u.UserPassword = this.TxtPassword.Text;
           u.RoleID = int.Parse(this.rblRoles.SelectedValue);

           //更新数据库
           linqDB.SubmitChanges();
        }
    }
    //删
    protected void BtnDel_Click(object sender, EventArgs e)
    {
        //判断数据库中是否存在
        LinQDBDataContext linqDB = new LinQDBDataContext();
        //用户是否存在
        int i = linqDB.User.Where(p => p.UserName == this.TxtUsername.Text).Count();
        if (i > 0)
        {
            //找到该用户
            User u = linqDB.User.Where(p => p.UserName == this.TxtUsername.Text).Single();

            //删除对象
            linqDB.User.DeleteOnSubmit(u);

            //更新数据库
            linqDB.SubmitChanges();
        }
    }
}



版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

LinQ to Sql 分页,增,删,改 实例

一、分页 public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sende...

Linq to sql增、删、改、查

最近几个项目都是用的Linq to sql,发现省了不少存储过程,用起来也非常方便,分页也很好用,将一些简单的操作贴出来给大家分享一下,有不懂的同学可以问我。Demo实体对象 1.增加记录      ...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Linq to sql :增删改查

示例数据库 字段名 字段类型 允许空 字段说明 ID uniqueidentifier   表主键字...

Linq to sql(三):增删改

示例数据库   字段名 字段类型 允许空 字段说明 ID uniqueidentifier   表...

Linq to sql(三):增删改

示例数据库   字段名 字段类型 允许空 字段说明 ID uniqueidentifier   表...

LINQ to SQL之增删改查

LINQ to SQL类实际上是对象化数据库对象,使得我们对数据库的操作转变为面向传统面向对象的操作。它完成了对数据库的映射,集成了很多属性和方法,我们只需要用面向对象的思路去使用这些属性和方法就能够...

【linq to sql学习笔记】增、删、改

其实,学习linq之前应该先学匿名类、扩展方法、委托等等,这些东西平时工作都有用到,有时间了来仔细整理下。 从现在开始,就系统学习下linq to sql 对数据表的操作。 0.表结构(UserInf...

Linq to XML 增删改查

 Linq to XML 增删改查   2011-10-09 21:12:35|  分类: .Net(C#) |  标签:linq  xml  xdocument ...

LINQ to XML 的简单应用

LINQ to XML 的简单应用,对XML文档的增删改查操作

Linq to XML增删改查

首先要
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)