Linq 数据库操作(增删改查)
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 数据库操作(增删改查)的更多相关文章
- Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]
在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...
- Django数据库操作(增删改查)
Django数据库操作(增删改查) 创建数据库中的一个表 class Business(models.Model): #自动创建ID列 caption = models.CharField(max_l ...
- Android下数据库操作——增删改查
Android下数据库第一种方式增删改查 1.创建一个帮助类的对象,调用getReadableDatabase方法,返回一个SqliteDatebase对象 2.使用SqliteDat ...
- spring框架学习之--数据库操作增删改查
基于spring的NamedParameterJdbcTemplate操作数据库 首先在 resources 文件夹下添加数据库配置文件jdbc.properties 配置常用的数据库信息 consu ...
- SpringBoot 数据库操作 增删改查
1.pom添加依赖 <!--数据库相关配置--> <dependency> <groupId>org.springframework.boot</groupI ...
- Yii2.0数据库操作增删改查详解
1.简单查询: one(): 根据查询结果返回查询的第一条记录. all(): 根据查询结果返回所有记录. count(): 返回记录的数量. sum(): 返回指定列的总数. average(): ...
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
一.一对多(外键) 例子:一个作者对应多本书,一本书只有一个作者 model代码: class Person(models.Model); name = models.CharField('作者姓名' ...
- 转: django数据库操作-增删改查-多对多关系以及一对多(外键)关系
原文链接:http://blog.csdn.net/u010271717/article/details/22044415 一.一对多(外键) 例子:一个作者对应多本书,一本书只有一个作者 model ...
- 使用JDBC连接MySQL数据库操作增删改查
目录 1.首先这个Myeclipse的包名以及一些实现的类(这样子写是我的习惯) 2.接下来我们创建数据库(MySQL) 3.在数据库里面添加数据 4.首先是BaseDao,这个是重中之重,注意那个数 ...
- 通过Loadruner对mysql数据库进行增删改查
操作mysql数据库,是在实现mysql数据源配置的基础上操作,可先阅读:loadrunner参数化使用mysql数据源失败解决方法 写之前先理一下,数据库访问流程:打开数据库 --> 数据库 ...
随机推荐
- Android Studio初步使用教程
今年的Google全球开发者大会虽然没有新的Android系统和设备,但是还是推出了一些不错的产品,Android Studio就是其中之一.这个基于Intellij IDEA开发的Android I ...
- Codeforces Round #340 (Div. 2) D. Polyline 水题
D. Polyline 题目连接: http://www.codeforces.com/contest/617/problem/D Descriptionww.co There are three p ...
- TP复习12
四.特殊标签 1.比较标签 eq或者 equal 等于 neq 或者notequal 不等于 gt 大于 egt 大于等于 lt 小于 elt 小于等于 heq 恒等于 nheq 不恒等于 2.范围标 ...
- oracle db打one-off-patch 一例
由于EBS form界面有一个报错,是一个小bug,以下打一个小patch修补一下. [以下的过程没有停库] 解压p8496830_111070_Linux-x86-64.zip cd 8496830 ...
- JtextField的延时更新
import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.a ...
- BootStrap 的随笔一二三
正在学习中待补充 ..为自己日后查看留存,不喜误看 特别鸣谢,小霖,小涛,小海... Bootstrap总结 可实现的页面效果 导航.格栅分为12份,焦点图,按钮,响应式,下拉按钮,选项卡等 boot ...
- 一款基于jQuery底部带缩略图的焦点图
之前我们已经分享过不少实用的jQuery焦点图插件了,今天我们要介绍的这款jQuery焦点图插件是带有缩略图的,我们只需点击缩略图即可切换至相应的图片,图片切换的时候出现淡入淡出的动画效果. 在线预览 ...
- 关于在Android设置全局变量随时获取context
最实在的办法就是继承Application,在里面设置全局变量,因为Application是android的应用入口,并且运行周期贯穿整个程序运行. import android.app.Applic ...
- LeetCode38 Count and Say
The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...
- 解决python3 不能引入setuptools
1,原理分析: python中的setuptools因为其安全考虑需要ssl模块的支持.如果编译时没有通过ssl测试,就不能安装setuptools. 所以才会出现 Python3/dist-pack ...