• 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>"); }
            }
    复制代码
  • 相关阅读:
    栈和队列的存储结构、线性结构和非线性结构
    java 将一个有大量数据的list集合分成指定大小的list集合
    Java和jdbc实现数据库操作的基础例子
    解决连接Oracle 11g报ORA-01034和ORA-27101的错误和报ORA-00119和ORA-00132这个问题
    Java语言类的特性
    Java类与对象
    Java中的字符串(String)
    Java数组
    Java中的流程控制
    Java中的运算符与表达式
  • 原文地址:https://www.cnblogs.com/changxiaosen/p/6943208.html
Copyright © 2020-2023  润新知