LinQ的增删改查
全名:LinQ to sql类:集成化的数据访问类。会自动生成,进行数据库数据访问。
LinQ的创建:
1、链接数据库:添加--添加新项--找到LINQ to SQL类--名字就叫数据库的名称就好。
2、实例化:找到连接到的数据库,要操作的表拖进来就行了。
3、操作数据库:直接添加类,名称写操作的表名就可以。
以下是各个操作:
一、查询所有 和 条件查询
public class UsersDA
{
Data0617DataContext con = new Data0617DataContext();//实例化
public List<Users> Select()//查所有
{
//List<Users> list = new List<Users>();
//list = con.Users.ToList();
//return list; ;这三句可以转换成下面一句
return con.Users.ToList();
}
public List<Users> Select(string uname)//根据条件查询
{
//Lamdba表达式
return con.Users.Where(r => r.UserName == uname).ToList();
//r 是随便起的名字 表示数据库里的一条数据, =>是固定格式,多个条件用&&并且
}
}
二、字段扩展
添加类----名字就起 表名。
public partial class Users
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日");}}
}
扩展民族,外键表
//民族表实例化 民族表根据code找民族名称的方法 操作在来调用
public string NationName { get { return new NationDA().SelectNationName(_Nation); } }//传过来_Nation这个对象
public string Nname { get { return Nation1.NationName; } }//在主外键关系不出错的情况下用这个方法
自动生成Nation1,根据code找到NationName
}
public class NationDA
{
Data0617DataContext con = new Data0617DataContext();
public string SelectNationName(string Ncode)
{
return con.Nation.Where(r => r.NationCode == Ncode).FirstOrDefault().NationName;//返回列表中的元素NationName
}通过Ncode,查出对象,返回NationName
}
三、添加
在数据访问类中写 添加、删除、修改的方法:
public class UsersData
{
Data0617DataContext con = new Data0617DataContext(); public void Insert(Users u)//添加
{
con.Users.InsertOnSubmit(u);
con.SubmitChanges();添加
} public void Delete(string Uname)//删除
{
Users uu = con.Users.Where(r => r.UserName == Uname).FirstOrDefault();//先查出来
if (uu != null)//判断有没有
{
con.Users.DeleteOnSubmit(uu);
con.SubmitChanges();删除
}
} public Users Select(string uname)//修改时先根据主键值查询
{
return con.Users.Where(r => r.UserName == uname).FirstOrDefault();
} 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();再执行提交--修改
} }
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
Button1.Click += Button1_Click;//添加
Button2.Click += Button2_Click;//删除
} void Button2_Click(object sender, EventArgs e)
{
//删除
new UsersData().Delete(TextBox7.Text); } void Button1_Click(object sender, EventArgs e)
{
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); }
protected void Page_Load(object sender, EventArgs e)
{
Button2.Click += Button2_Click;//先查询出来再做修改
Button1.Click += Button1_Click;//修改
} void Button1_Click(object sender, EventArgs e)
{
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);//修改 } void Button2_Click(object sender, EventArgs e)
{
//查查有没有这条数据
Users u = new UsersData().Select(TextBox7.Text);
if (u == null)
{
Label1.Text = "查无此人!";
return;
}
Label1.Text = ""; TextBox1.Text = u.UserName;
TextBox2.Text = u.PassWord;
TextBox3.Text = u.NickName;
TextBox4.Text = u.Sex.ToString();
TextBox5.Text = u.Birthday.ToString();
TextBox6.Text = u.Nation;
}
LinQ的增删改查的更多相关文章
- LINQ的增删改查写法&&组合查询
.ToList();//返回一个集合,包含查到的所有值: .First();//返回查到的第一条数据,如果查不到会报错: .FirstOrDefault();返回查到的第一条数据,差不到返回一个nul ...
- 使用LinQ进行增删改查
数据库访问技术: ADO.net EF框架 LinQ LinQ是一种高集成化的数据库访问技术,他将数据库中的表映射成程序中的类 数据库的表名变成类名 数据库的列名变成字段名/属性名 所有的操作都是通过 ...
- EF+linq的增删改查
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...
- linq的创建 和 数据的增删改查
1.linq创建之前,一定要在sql做好数据表的主外键关系. 2.linq文件是以.dbml结尾,一般一个数据库的名字就是一个linq的名字 3,以实例来演示增删改查 数据库的名字为linq,里面有两 ...
- Linq 数据库操作(增删改查)
Linq数据库增删改查 Linq是一种查询语言,集成包含在formwork中,包含在C#语言中,它的作用是降低查询的门槛,提高开发效率,是我们必须掌握的技术之一,下面是我自己对linq数据库操作的方法 ...
- linq的简单增删改查
Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好 ...
- [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界
本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...
- Webform(Linq增删改查)
Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(1)Linq创建添加LINQ to SQL类,类名需与要连接的数 ...
- LinQ 创建连接、简单增删改查
LINQ--语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操 ...
随机推荐
- Shiro权限框架简单快速入门
声明本文只适合初学者,本人也是刚接触而已,经过一段时间的研究小有收获,特来分享下希望和大家互相交流学习. 首先配置我们的web.xml代码如下: <filter> <filter-n ...
- sql ROW_NUMBER() 排序函数 (转)
1使用row_number()函数进行编号:如 select email,customerID, ROW_NUMBER() over(order by psd) as rows from QT_Cus ...
- OKHttp的容易使用
OKHttp的简单使用 一方面,最近关于OKHttp的讨论甚嚣尘上,另一方面,我最近也更新了android6.0,发现在6.0中HttpClient不能使用了,于是决定抽时间也看一下OKHttp,总结 ...
- interview que
百度: MySQL InnoDB存储的文件结构 索引树是如何维护的? 数据库自增主键可能的问题 Redis的并发竞争问题如何解决了解Redis事务的CAS操作吗 分析线程池的实现原理和线程的调度过程 ...
- [ActionScript 3.0] 获取随机颜色
import flash.display.MovieClip; import flash.geom.ColorTransform; //方法一 var red:Number = Math.random ...
- [hihoCoder1329] 带Split和Merge的Treap
题目链接:http://hihocoder.com/problemset/problem/1329 这题本来是学Splay的题,但是我为了练习Treap的Split和Merge操作,就借来用一用. 就 ...
- linux mutext spinlock 性能分析
http://www.parallellabs.com/2010/01/31/pthreads-programming-spin-lock-vs-mutex-performance-analysis/ ...
- win8.1中EZDML输入中文显示问号问题
在win8.1下使用EZDML,发现无法输入中文,解决办法如下: 打开控制面板--语言 删除美式键盘 然后就可以正常输入中文了 其实就是win8.1把美式键盘默认放在中文语言中,导致的输入问题 ...
- 【转载】变更MySql数据存储路径的方法
1.在mysql安装目录下找到my.ini文件,更改#Path to the database root datadir="希望存放数据的地址" 2.将默认存放路径(一般为&quo ...
- C/C++二维数组分配内存
//C++方式 double **Q=new double*[row]; //初始化Q矩阵 for(int i=0;i<row;++i) Q[i]=new double[POS_NUM]( ...