winform 用linq to SQL 类实现数据库的增删改查 2016年02月18日
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform 用linq to SQL 类实现数据库的增删改查 2016年02月18日相关的知识,希望对你有一定的参考价值。
在C#中,如果用的是SQL server的数据库,由于同是微软旗下的软件,为了方便用户操作,可以用Linq to SQL类来实现对数据库的操作,大大简化了操作。
一、添加一个Linq to SQL的类:
二、在资源管理器中的数据连接中,连接好数据库:
三、将要进行操作的表,拖入到DataClasses1.dbml的操作面板中,这样就完成了对表属性的封装
四、创建一个FruitDA的类,在里面写数据库增、删、改、查的方法,代码如下:
public class FruitDA { private DataClasses1DataContext Context;//造一个linq to SQL类的对象 context,数据模型 public FruitDA() { Context = new DataClasses1DataContext();//构造函数,在里面把context实例化一下 } public void Insert(Fruit data)//增加方法 { Context.Fruit.InsertOnSubmit(data);//将data数据增加到fruit表中 Context.SubmitChanges();//有改动,提交到数据库 } public void Update(Fruit data)//修改方法 { //先查询,后修改 Fruit sdata = Context.Fruit.Where(r => r.Ids == data.Ids).First(); //等号大于号是lamda表达式,等号大于号相当于list泛型集合里的 in list //r可以随意起名,代表一行数据;相当于Fruit data里的data,foreach每走一行就是一行的数据,一行数据就是data //如果相等就符合条件,如果不相等就走下一条 //筛选完了之后,取第一条(.first)里面的数据,返回一个fruit类型的对象 if (sdata != null)//判断一下,如果数据不为空,按照sdata的数据去修改data里面的数据 { sdata.Name = data.Name; sdata.Price = data.Price; sdata.Numbers = data.Numbers; sdata.Source = data.Source; sdata.Stack = data.Stack; sdata.Image = data.Image; } Context.SubmitChanges();//修改提交到数据库 } public void Delete(Fruit data)//删除方法 { Context.Fruit.DeleteOnSubmit(data); Context.SubmitChanges(); } public List<Fruit> Select()//查询方法,返回一个fruit类型的泛型集合 { return Context.Fruit.ToList();//用tolist函数将结果转化为泛型集合 } public List<Fruit> selectbyname(string name)//模糊查询 { return Context.Fruit.Where(r=>r.Name.Contains(name)).ToList(); //看看筛选的这一行有没有像name的,用contains包不包含定义的小写的name,再转换为泛型集合返回 } public bool checkfruit(string name, decimal price)//验证用户名密码的样式 { return Context.Fruit.Where(r => r.Name == name && r.Price == price).Count() > 0; //筛选多个条件同时满足用&&,满足条件数据的条数用count //如果大于零返回true,小于等于零返回false } public Fruit select(string ids)//查询一条数据 { return Context.Fruit.Single(r => r.Ids == ids); //如果查询的是主键的话,可以用single //不是主键,用where筛选 } }
测试代码如下:
private void Form1_Load(object sender, EventArgs e) { List<Fruit> list = new FruitDA().Select(); dataGridView1.DataSource = list; }
以上是关于winform 用linq to SQL 类实现数据库的增删改查 2016年02月18日的主要内容,如果未能解决你的问题,请参考以下文章
WP7 Linq To SQL(SQL CE) IDataErrorInfo