关闭

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

标签: linqsqlobject数据库userclass
2029人阅读 评论(0) 收藏 举报
分类:

一、分页

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();
        }
    }
}



0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

SQL 语法之“增”、“删”、“改”、“查”

/* 四、查 1.普通查询 语法:select from [where ] [order by [asc或desc]] */ /*    1).查询所有数据行和列     ...
  • Carvin_Zh
  • Carvin_Zh
  • 2015-07-29 15:19
  • 1447

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

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

mysql数据库中命令行下常用命令的操作(增、删、改、查)和数据类型

MYSQL的常用命令和增删改查语句和数据类型 连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码]   创建数据库:create database [库名]   显示所有...
  • nDSCrb
  • nDSCrb
  • 2013-12-07 08:47
  • 1033

数据库的基本SQL操作(增删改查)

1、为表添加主键alter table add primary key(col);主键添加前:主键添加后:2、插入数据insert into (field1,field2,field3..) va...
  • yuanmxiang
  • yuanmxiang
  • 2016-06-15 17:08
  • 3398

C#Winform Linq_to_Sql 实现增删改查功能

PS: Linq_to_Sql数据查询语言为强数据类型的语言,操作的基本单位与DataSet一样都是以数据实体,所以操作数据前所有要更新的数据值都要与实体的数据类型相同。如下例中为price和typ...
  • pp_fzp
  • pp_fzp
  • 2016-02-22 22:44
  • 2211

数据库的增、删、改、查操作-----(一)

数据库的增、删、改、查操作
  • Aimee09
  • Aimee09
  • 2016-09-13 14:28
  • 595

Linq to sql实现简单查询和分页

 Linq to sql是LINQ(.NET语言集成查询)的一部分,全称基于关系数据的 .NET 语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能,它和Linq to xml、L...
  • u010773667
  • u010773667
  • 2014-11-23 22:14
  • 2205

Linq to Entity 增,删,改,查 语句

一、增 public void Insert(ExamineeDto item) { using (var ctx = new Personne...
  • tiz198183
  • tiz198183
  • 2013-12-18 11:00
  • 1564

SQL之表的增、改、删

在说明表的增改删之前,我们先来介绍一下组成一个关系型数据库的基本结构。    由图1-2可以看出一个关系型数据库主要由三大结构组成,分别是数据库、表、字段。在顶层的是RDBMS(管理数据库的软件)...
  • u010028869
  • u010028869
  • 2013-06-28 21:10
  • 1256

JDBC用PrepareStatement实现增,删,改,查

public class Jdbc { /** * 用PrepareStatement实现增,删,改,搜。 */ public static void main(String[] ar...
  • HUXU981598436
  • HUXU981598436
  • 2013-11-14 10:54
  • 1240
    个人资料
    • 访问:395944次
    • 积分:8663
    • 等级:
    • 排名:第2599名
    • 原创:399篇
    • 转载:56篇
    • 译文:7篇
    • 评论:40条
    最新评论