zoukankan      html  css  js  c++  java
  • Linq基础增删改查

    使用Linq时要注意一下问题:
    1.创建Linq连接后生成的dbml文件不要变动,生成的表不要碰,拖动表也会造成数据库连接发生变动,需要重新保存.
    2.属性拓展的使用:添加一个新的类,不要在dbml中添加属性拓展,一旦数据库变动,属性拓展类就会失效.
    3.使用Linq获取的数据都是?int,?string等?数据类型,意思是也有可能为空,这时候操作数据需要先把数据类型转化成int,string等数据类型.

    在这里操作数据库用到了lambda表达式,是一种匿名函数,使用lambda表达式自动带有防攻击,不需要在使用parameter了.

    什么事lambda表达式:

    Stu s = con.Stu.Where(r => r.Ids.ToString() == id).FirstOrDefault();一个lambda表达式

                 查询数据库中Ids==id的第一条数据

    FirstOrDelault() 第一条或者[不存在,不执行,为空]

    数据查询:
    建立LInq数据库连接后,后台编写:
    using ([Linq名称]DataClassesDataContext con = new [Linq名称]DataClassesDataContext())
    {

    con.表名.ToList();[获取要查询数据库的数据,之后可以执行绑定数据]


    }

    例:

    复制代码
                using (StudentsDataClassesDataContext con = new StudentsDataClassesDataContext())
                {
                    DropDownList1.DataSource = con.Nation.ToList();
                    DropDownList1.DataTextField = "NationName";
                    DropDownList1.DataValueField = "NationCode";
                    DropDownList1.DataBind();
                    DropDownList2.DataSource = con.Class.ToList();
                    DropDownList2.DataTextField = "ClassName";
                    DropDownList2.DataValueField = "ClassCode";
                    DropDownList2.DataBind();
                }
    复制代码

    添加数据:

    1.实例化数据变量

    2.填充变量数据

    3.创建连接

    4.修改数据

    例:

    复制代码
    //实例化
    Stu s = new Stu();
           //填充数据
            s.Name = TextBox2.Text;
            s.Sex = RadioButtonList1.Items[0].Selected;
            s.Birthday = Convert.ToDateTime(TextBox3.Text);
            s.NationCode = DropDownList1.SelectedValue;
            s.ClassCode = DropDownList2.SelectedValue;
            s.Score = Convert.ToInt32(TextBox4.Text);
           // 创建连接
            using (StudentsDataClassesDataContext con = new StudentsDataClassesDataContext())
            {//修改数据
                con.Stu.InsertOnSubmit(s);
                con.SubmitChanges();
            }
    复制代码

    修改数据:

    1.先查到要修改的数据

    2.修改这条数据

    3.将修改好的数据传到数据库,完成修改

    例:

    复制代码
            string id = Request["id"];
            using (StudentsDataClassesDataContext con = new StudentsDataClassesDataContext())
            {
                Stu s = con.Stu.Where(r => r.Ids.ToString() == id).FirstOrDefault();
                if (s != null)
                {
                    s.Name = TextBox2.Text;
                    s.Sex = RadioButtonList1.Items[0].Selected;
                    s.Birthday = Convert.ToDateTime(TextBox3.Text);
                    s.NationCode = DropDownList1.SelectedValue;
                    s.ClassCode = DropDownList2.SelectedValue;
                    s.Score = Convert.ToInt32(TextBox4.Text);
                    con.SubmitChanges();
                }
            }
    复制代码

    数据删除:

    1.查到要删除的数据

    2.把要删除的数据上传数据库,进行删除

    例:

    复制代码
     string id = Request["id"];
    
            using (StudentsDataClassesDataContext con = new StudentsDataClassesDataContext())
            {
                //根据主键值查询出对应的这个对象
                Stu s = con.Stu.Where(r => r.Ids.ToString() == id).FirstOrDefault();
    
                if (s != null)
                {
                    con.Stu.DeleteOnSubmit(s);
                    con.SubmitChanges();
                    Response.Write("<script>alert('删除成功!');window.location.href='default.aspx';</script>");
                }
                else
                { Response.Write("<script>alert('删除失败!');window.location.href='default.aspx';</script>"); }
            }
    复制代码
  • 相关阅读:
    huffman(greedy)
    activity select problem(greedy algorithms)
    matrix_chain_order
    rod cutting
    the implemention of redblack tree
    oracle 数据库备份 cmd 命令
    jquery tab切换
    封装自己的js框架入门
    HTML5-Database Storage 本地存储.html
    exp导出oracle数据库时 无法导出空表的解决方法
  • 原文地址:https://www.cnblogs.com/changxiaosen/p/6943208.html
Copyright © 2011-2022 走看看