Linq数据库增删改查

  Linq是一种查询语言,集成包含在formwork中,包含在C#语言中,它的作用是降低查询的门槛,提高开发效率,是我们必须掌握的技术之一,下面是我自己对linq数据库操作的方法,与大家分享一下。

  1、首先是添加:我自己的添加理念是,先查看一下添加的主键是否存在,以免重复添加,然后为添加的新行赋值,最后添加刷新数据库实现添加。

  如:

    public static bool Add(string s1, string s2, string s3, string s4)        //s1为添加的编号是主键,s2,s3,s4分别是要添加的姓名、地址、电话

      {

         // new一个linq类对象

         DataClasses1DataContext dc = new DataClasses1DataContext();

        //定义一个bool类型值,初始化为false

         bool b = false;

        //linq语句

        var re = from list1 in dc.list

            where list1.LId == s1

            select list1;

         //查看学号是否已存在,修改bool值

         foreach (var i in re)

        {

           string s = i.LId;

       b = true;

        }

        if (b == false)

         {

          //为添加行赋值

           list l = new list();

           l.LId = s1;

           l.LName = s2;

           l.LAddress = s3;

           l.LPhone = s4;

       dc.list.InsertOnSubmit(l);  //实现添加

            return b;

        }

     return b;

    }

  2、然后是修改,修改是先查到要修改的主键,然后为修改项赋值,最后刷新数据库实现修改

  如:

    public static bool Update(string s1, string s2, string s3, string s4)
        {
            //定义一个bool类型值
            bool b = false;
            try
            {
                DataClasses1DataContext dc = new DataClasses1DataContext();
                //linq执行语句
                var re = from l in dc.list
                         where l.LId == s1
                         select l;
                //实现修改
                foreach (list i in re)
                {
                    i.LName = s2;
                    i.LAddress = s3;
                    i.LPhone = s4;
                    dc.SubmitChanges(); //实现数据库更新
                }
            }
            catch
            {
                b = true;
            }
            return b;
        }

  3、然后是删除,删除比较简单,找到要删除的主键,执行删除方法,刷新数据库就行了

  如:

    
        public static bool Delete(string s)
        {
            //定义一个bool类型值
            bool b = false;
            try
            {
                DataClasses1DataContext dc = new DataClasses1DataContext();
                //linq语句
                var re = from l in dc.list
                         where l.LId == s
                         select l;
                //实现删除
                dc.list.DeleteAllOnSubmit(re);
                //刷新数据库
                dc.SubmitChanges();
            }
            catch
            {
                b = true;
            }
            return b;
        }

  4、最后是查询了,linq查询语句、绑定就ok了

    如:  

    DataClasses1DataContext dc = new DataClasses1DataContext();
            //linq语句
            var re = from l in dc.list
                     select l;
            dataGridView1.DataSource = re;

Linq 数据库操作(增删改查)的更多相关文章

  1. Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]

    在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...

  2. Django数据库操作(增删改查)

    Django数据库操作(增删改查) 创建数据库中的一个表 class Business(models.Model): #自动创建ID列 caption = models.CharField(max_l ...

  3. Android下数据库操作——增删改查

    Android下数据库第一种方式增删改查     1.创建一个帮助类的对象,调用getReadableDatabase方法,返回一个SqliteDatebase对象     2.使用SqliteDat ...

  4. spring框架学习之--数据库操作增删改查

    基于spring的NamedParameterJdbcTemplate操作数据库 首先在 resources 文件夹下添加数据库配置文件jdbc.properties 配置常用的数据库信息 consu ...

  5. SpringBoot 数据库操作 增删改查

    1.pom添加依赖 <!--数据库相关配置--> <dependency> <groupId>org.springframework.boot</groupI ...

  6. Yii2.0数据库操作增删改查详解

    1.简单查询: one(): 根据查询结果返回查询的第一条记录. all(): 根据查询结果返回所有记录. count(): 返回记录的数量. sum(): 返回指定列的总数. average():  ...

  7. django数据库操作-增删改查-多对多关系以及一对多(外键)关系

    一.一对多(外键) 例子:一个作者对应多本书,一本书只有一个作者 model代码: class Person(models.Model); name = models.CharField('作者姓名' ...

  8. 转: django数据库操作-增删改查-多对多关系以及一对多(外键)关系

    原文链接:http://blog.csdn.net/u010271717/article/details/22044415 一.一对多(外键) 例子:一个作者对应多本书,一本书只有一个作者 model ...

  9. 使用JDBC连接MySQL数据库操作增删改查

    目录 1.首先这个Myeclipse的包名以及一些实现的类(这样子写是我的习惯) 2.接下来我们创建数据库(MySQL) 3.在数据库里面添加数据 4.首先是BaseDao,这个是重中之重,注意那个数 ...

  10. 通过Loadruner对mysql数据库进行增删改查

    操作mysql数据库,是在实现mysql数据源配置的基础上操作,可先阅读:loadrunner参数化使用mysql数据源失败解决方法 写之前先理一下,数据库访问流程:打开数据库  --> 数据库 ...

随机推荐

  1. Remove a Driver Package from the Driver Store

    http://technet.microsoft.com/en-us/library/cc730875.aspx Determine the name of the driver package in ...

  2. CHM文件无法查看内容解决办法

    http://www.cnblogs.com/skey_chen/archive/2011/05/24/2055538.html 从网上下载了一份CHM格式的文档,打开时左侧菜单出来了,但右边显示如下 ...

  3. PL/pgSQL学习笔记之六

    http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 39.3.1. 声明函数参数 传递给函数的参数被用 $1.$2等 ...

  4. c++学习笔记(1)

    流操纵符std::endl输出一个换行符,然后刷新输出缓冲,在一些系统中,输出在机器中缓存,直至积累到“值得”输出到屏幕上为止,而std::endl强制显示所有积存的输出。 c++的一个强大的功能是用 ...

  5. 谷歌技术&quot;三宝&quot;之MapReduce

    江湖传说永流传:谷歌技术有"三宝",GFS.MapReduce和大表(BigTable)! 谷歌在03到06年间连续发表了三篇非常有影响力的文章,各自是03年SOSP的GFS,04 ...

  6. [Angular2 Router] Programmatic Router Navigation via the Router API - Relative And Absolute Router Navigation

    In this tutorial we are going to learn how to navigate programmatically (or imperatively) by using t ...

  7. 依赖注入框架Autofac的简单使用

    http://www.cnblogs.com/liping13599168/archive/2011/07/16/2108209.html Autofac是一款IOC框架,比较于其他的IOC框架,如S ...

  8. 下一个系列学习列表Spring.net+NHibernate+MVC

    开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo 刘冬.NET 2011-08-19 ...

  9. c++ 设计模式8 (Factory Method 工厂方法)

    5. “对象创建”类模式 通过“对象创建”类模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定.它是接口抽象之后的第一步工作. 5.1 工厂方法 动机: ...

  10. WPF之鼠标滑动切换图片

    在网上找了一会儿也没找到我想要的效果,还是自己动手,丰衣足食吧. 需求:当前面板中只显示一张图片,图片栏的下部有用来显示当前图片处于图片队列中的位置的圆球,并且点击下部栏内的圆球可以快速切换,附动画缓 ...