yp秋水伊人

导航

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

 

posted on 2016-10-16 21:37  yp秋水伊人  阅读(197)  评论(0编辑  收藏  举报