博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LINQ 【增、删、改、查】数据绑定
阅读量:5053 次
发布时间:2019-06-12

本文共 3990 字,大约阅读时间需要 13 分钟。

LINQ,语言集成查询(Language Integrated Query)

是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

 

一、创建 LINQ

  在项目下创建 linq to SQL 类,

  将相应的数据库表拖入即可

 

 

 

二、LINQ 的属性拓展

  对 LINQ  进行属性扩展时 ,一定要在外部新建类文件进行扩展

 

using System;using System.Collections.Generic;using System.Linq;using System.Web;/// /// Users 的摘要说明/// public partial class Users{    public string SexStr    {        get        {            return Convert.ToBoolean(_Sex) ? "男" : "女";        }    }    public string BirStr    {        get        {            return Convert.ToDateTime(_Birthday).ToString("yyyy年MM月dd日");        }           //DateTime? 型,带问号,最好转换一下    }    public string Nationn    {        get        {            return Nation1.NationName;        }             }                            //从另一个表中抓取返回值}
属性扩展

 

             -- 有主外键关系的扩展,可直接抓取

 

三、查询全部,数据展示

 1、创建 linq 数据库文件的 数据库上下文上下文对象

 UsersDataClassesDataContext  con = new  UsersDataClassesDataContext( );

                                      -- UsersDataClassesDataContext  创建linq 数据库是创建的类

2、通过上下文对象获取数据,绑定数据

list<Users> = con.Users .ToList ();

          -- con.Users   通过上下文对象获取 Users 中的全部对象 

          -- 通过 con 获取的对象是 linq 类型,  .Tolist() 转换成集合

 

if (!IsPostBack)        {             using (UsersDataClassesDataContext con=new UsersDataClassesDataContext()  )            {                               Repeater1.DataSource =con.Users .ToList ();                Repeater1.DataBind ();                  }               }
绑定所有数据--加载绑定

 

  -- using 编写一个作用域,括号内创建一个上下文对象

  -- 创建的对象只在花括号里使用,走完花括号就不存在了  

  --using 这个方法,每次在数据库开启时都是全新的对象

       这个对象用完后会自动消失,不消耗内存。

 

四、添加

 

//提交    void Button1_Click(object sender, EventArgs e)    {        Users u = new Users();        u.Username = TextBox1.Text;        u.Password = p1.Text;        u.Nickname = TextBox2.Text;        u.Sex = RadioButtonList1.Items[0].Selected;        u.Birthday = Convert.ToDateTime(Text_Bir.Text);        u.Nation = Dr4.SelectedValue;        using (UsersDataClassesDataContext  con = new UsersDataClassesDataContext ())        {            con.Users.InsertOnSubmit(u);    //u 要添加的数据对象            con.SubmitChanges();        }        Response.Redirect("zhanshi.aspx");    }
添加数据 -- 提交按钮后台代码

 

con.Users.InsertOnSubmit(u);     

      ( 上下文对象 . 表 . 方法 )         -- 准备添加, 

con.SubmitChanges();

                                   -- 提交所有数据

 

五、删除

 

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class delete : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        string id = Request["i"];        using (UsersDataClassesDataContext con = new UsersDataClassesDataContext())        {              //根据主键值查询出对应的这个对象            Users us = con.Users.Where(r => r.Ids.ToString() == id).FirstOrDefault();            if (us != null)            {                con.Users.DeleteOnSubmit(us);                con.SubmitChanges();                           }            Response.Redirect("zhanshi.aspx");        }    }}
删除-- 删除页后台代码

 

Users us = con.Users.Where( r => r.Ids.ToString() == id ).FirstOrDefault();     // lambda 表达式

         -- FirstOrDefault()  : 根据前面查询的,取第一条,如果没有返回 null

         -- r   :表示任何一行

         --  =>   :固定格式

 

con.Users.DeleteOnSubmit(us);

con.SubmitChanges();

 

六、修改

 

//提交按钮    void Button1_Click(object sender, EventArgs e)    {        string st = Request["i"];        using (UsersDataClassesDataContext con = new UsersDataClassesDataContext())        {            Users u = con.Users.Where(r => r.Ids.ToString() == st).FirstOrDefault();            if (u != null)            {                if (p1.Text.Length > 0)                    u.Password = p1.Text;                u.Nickname = TextBox2.Text;                u.Sex = RadioButtonList1.Items[0].Selected;                u.Birthday = Convert.ToDateTime(Text_Bir.Text);                u.Nation = Dr4.SelectedValue;                con.SubmitChanges();                Response.Write("");                Response.Redirect("zhanshi.aspx");                            }        }    }
修改 -- 修改按钮后台代码

 

  -- con.SubmitChanges();

        各修改数据准备过程就是准备修改过程,不用再用上下文对象来准备。直接一把提交

 

转载于:https://www.cnblogs.com/Tanghongchang/p/6932496.html

你可能感兴趣的文章
在线视频播放软件
查看>>
用代码生成器生成的DAL数据访问操作类 基本满足需求了
查看>>
28初识线程
查看>>
Monkey测试结果分析
查看>>
Sublime Text 3 设置
查看>>
poodle attack
查看>>
X64操作系统组件Jmail无法正常服务问题
查看>>
div 居中
查看>>
Vue 后台管理框架
查看>>
python3 对象之间的交互
查看>>
reactiveCocoa使用
查看>>
Orleans 序列化遇到的坑
查看>>
软件介绍(apache lighttpd nginx)
查看>>
【hdu1024】简单dp
查看>>
[hdu3308]线段树
查看>>
Storm学习笔记1:Storm基本组件
查看>>
javascript正则(带g符号) 多次调用test 结果交替出现
查看>>
浅析jQuery删除节点的三个方法
查看>>
python 环境安装
查看>>
ajax无刷新上传图片
查看>>