zoukankan      html  css  js  c++  java
  • LinQ的增删改查

    全名:LinQ to sql类:集成化的数据访问类。会自动生成,进行数据库数据访问。

    LinQ的创建:

    1、链接数据库:添加--添加新项--找到LINQ to SQL类--名字就叫数据库的名称就好。

    2、实例化:找到连接到的数据库,要操作的表拖进来就行了。

    3、操作数据库:直接添加类,名称写操作的表名就可以。

    以下是各个操作:

    一、查询所有 和 条件查询

    public class UsersDA
    {
        Data0617DataContext con = new Data0617DataContext();//实例化
        public List<Users> Select()//查所有
        {
            //List<Users> list = new List<Users>();
            //list = con.Users.ToList();
            //return list; ;这三句可以转换成下面一句
            return con.Users.ToList();
        }
    public List<Users> Select(string uname)//根据条件查询 { //Lamdba表达式 return con.Users.Where(r => r.UserName == uname).ToList(); //r 是随便起的名字 表示数据库里的一条数据, =>是固定格式,多个条件用&&并且 } }

    二、字段扩展

    添加类----名字就起  表名。

    public partial class Users

    public partial class Users
    {
        public string SexStr { get {return Convert.ToBoolean(  _Sex )? "" : ""; } }
    
        public string Birstr{get{return Convert.ToDateTime( this._Birthday).ToString("yyyy年MM月dd日");}}
    }

    扩展民族,外键表

        //民族表实例化  民族表根据code找民族名称的方法  操作在来调用
        public string NationName { get { return new NationDA().SelectNationName(_Nation); } }//传过来_Nation这个对象
    public string Nname { get { return Nation1.NationName; } }//在主外键关系不出错的情况下用这个方法
    自动生成Nation1,根据code找到NationName

    }

    public class NationDA
    {
        Data0617DataContext con = new Data0617DataContext();
        public string SelectNationName(string Ncode)
        {
            return con.Nation.Where(r => r.NationCode == Ncode).FirstOrDefault().NationName;//返回列表中的元素NationName
        }通过Ncode,查出对象,返回NationName
    
    
    
    
    }

     三、添加

    在数据访问类中写  添加、删除、修改的方法:

    public class UsersData
    {
        Data0617DataContext con = new Data0617DataContext();
    
        public void Insert(Users u)//添加
        {
            con.Users.InsertOnSubmit(u);
            con.SubmitChanges();添加
        }
    
        public void Delete(string Uname)//删除
        {
            Users uu = con.Users.Where(r => r.UserName == Uname).FirstOrDefault();//先查出来
            if (uu != null)//判断有没有
            {
                con.Users.DeleteOnSubmit(uu);
                con.SubmitChanges();删除
            }
        }
    
        public Users Select(string uname)//修改时先根据主键值查询
        {
            return con.Users.Where(r => r.UserName == uname).FirstOrDefault();
        }
    
        public void Update(Users u)
        {
            Users uuu = con.Users.Where(r => r.UserName == u.UserName).FirstOrDefault();先查询
            uuu.PassWord = u.PassWord;
            uuu.NickName = u.NickName;
            uuu.Sex = u.Sex;
            uuu.Birthday = u.Birthday;
            uuu.Nation = u.Nation;
            con.SubmitChanges();再执行提交--修改
        }
    
    
    }

     后台代码:

     protected void Page_Load(object sender, EventArgs e)
        {
            Button1.Click += Button1_Click;//添加
            Button2.Click += Button2_Click;//删除
        }
    
        void Button2_Click(object sender, EventArgs e)
        {
            //删除
            new UsersData().Delete(TextBox7.Text);
    
    
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            Users u = new Users();//添加
            u.UserName = TextBox1.Text;
            u.PassWord = TextBox2.Text;
            u.NickName = TextBox3.Text;
            u.Sex = Convert.ToBoolean(TextBox4.Text);
            u.Birthday = Convert.ToDateTime(TextBox5.Text);
            u.Nation = TextBox6.Text;
    
            new UsersData().Insert(u);
    
    
        }
      protected void Page_Load(object sender, EventArgs e)
        {
            Button2.Click += Button2_Click;//先查询出来再做修改
            Button1.Click += Button1_Click;//修改
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            Users uuu = new Users();
            uuu.UserName = TextBox1.Text;
            uuu.PassWord = TextBox2.Text;
            uuu.NickName = TextBox3.Text;
            uuu.Sex = Convert.ToBoolean(TextBox4.Text);
            uuu.Birthday = Convert.ToDateTime(TextBox5.Text);
            uuu.Nation = TextBox6.Text;
    
            new UsersData().Update(uuu);//修改
    
        }
    
        void Button2_Click(object sender, EventArgs e)
        {
            //查查有没有这条数据
            Users u = new UsersData().Select(TextBox7.Text);
            if (u == null)
            {
                Label1.Text = "查无此人!";
                return;
            }
            Label1.Text = "";
    
            TextBox1.Text = u.UserName;
            TextBox2.Text = u.PassWord;
            TextBox3.Text = u.NickName;
            TextBox4.Text = u.Sex.ToString();
            TextBox5.Text = u.Birthday.ToString();
            TextBox6.Text = u.Nation;
        }
  • 相关阅读:
    HDU3145 Max Sum of Max-K-sub-sequence (单调队列模板)
    AcWing1088 旅行问题(单调队列)
    POJ1821 Fence(单调队列)
    POJ1742 Coins(多重背包+二进制优化)
    AcWing217 绿豆蛙的归宿(期望)
    BZOJ.2134.[国家集训队]单选错位(概率 递推)
    洛谷.3805.[模板]manacher算法
    Codeforces.280C.Game on Tree(期望)
    BZOJ.2521.[SHOI2010]最小生成树(最小割ISAP/Dinic)
    洛谷.4172.[WC2006]水管局长(LCT Kruskal)
  • 原文地址:https://www.cnblogs.com/yp11/p/5967121.html
Copyright © 2011-2022 走看看