LinQ的使用
LinQ:LinQ to Sql类
它是一个集成化的数据访问类,微软将原本需要我们自己动手去编写的一些代码,集成到了这个类中,会自动生成。
LinQ的创建:
添加项——添加新项(LinQ to Sql类):每个数据库对应一个LinQ to Sql类
在类里面连接数据库:
服务器资源管理器——连接到数据库(服务器名称,用户名,密码,数据库名称)——将需要的表拖入窗体
LinQ查询:
新建类:数据访问类,添加方法:
Data0617DataContext con = new Data0617DataContext(); public List<Users> Select() { return con.Users.ToList(); }
条件查询:使用Lamdba表达式
//条件查询 public List<Users> Select(string uname) { //Lamdba表达式 return con.Users.Where(r => r.UserName == uname && r.PassWord == "1234").ToList(); }
字段扩展:新建类:+ partial
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日"); } } public string NationName { get { return new NationData().SelectNationName(_Nation); } } public string Nname { get { return Nation1.NationName; } } }
添加:
Data0617DataContext con = new Data0617DataContext(); public void Insert(Users u) { con.Users.InsertOnSubmit(u); con.SubmitChanges(); }
//后台代码 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);
删除:
public void Delete(string Uname) { Users uu = con.Users.Where(r => r.UserName == Uname).FirstOrDefault(); if (uu != null) { con.Users.DeleteOnSubmit(uu); con.SubmitChanges(); } }
//删除按钮事件委托 new UsersData().Delete(TextBox7.Text);
修改:
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(); }
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);