博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winform 用linq to SQL 类实现数据库的增、删、改、查 2016年02月18日
阅读量:6336 次
发布时间:2019-06-22

本文共 2671 字,大约阅读时间需要 8 分钟。

在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
Select()//查询方法,返回一个fruit类型的泛型集合 { return Context.Fruit.ToList();//用tolist函数将结果转化为泛型集合 } public List
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
list = new FruitDA().Select(); dataGridView1.DataSource = list; }                                                                                                            

 

转载于:https://www.cnblogs.com/xuankai1987/p/5198609.html

你可能感兴趣的文章
[iOS Animation]-CALayer 绘图效率
查看>>
2012-8-5
查看>>
VS中ProjectDir的值以及$(ProjectDir)../的含义
查看>>
我的友情链接
查看>>
PHP实现排序算法
查看>>
Business Contact Mnanager for Outlook2010
查看>>
9种用户体验设计的状态是必须知道的(五)
查看>>
解决WIN7下组播问题
查看>>
陈松松:视频营销成交率低,这三个因素没到位
查看>>
vmware nat模式原理探究,实现虚拟机跨网段管理
查看>>
JavaSE 学习参考:集合运算
查看>>
【Signals and Systems】 SYLLABUS
查看>>
RH135-2-command-line-interface
查看>>
浅谈OS
查看>>
mac下开启docker API远程调用
查看>>
tar 命令的详解
查看>>
Cisco路由器安全配置
查看>>
第十次作业
查看>>
给定一个字符串s,返回去掉子串"mi"后的字符串。
查看>>
Nginx 外的另一选择,轻量级开源 Web 服务器 Tengine 发布新版本
查看>>