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代码以查询数据库相同的方式操 ...
随机推荐
- 01.Bootstrap入门
Bootstrap介绍: Bootstrap,来自 Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加 ...
- 黄聪:如何为IIS增加svg和woff等字体格式的MIME
现在字体图标已经渐渐代替了图片了,移动端用起来也很方便. 使用了字体文件来显示矢量的图标,为了能在IIS上正常显示图标,可以通过增加iis的MIME-TYPE来支持图标字体文件 下面就把IIS增加sv ...
- Maven私有仓库搭建和使用
下载和安装 下载地址: http://www.sonatype.com/nexus-repository-oss 安装: Linux版的无需安装,直接解压即可,然后进入bin目录下,运行./nexus ...
- 用git管理自己读的书
福昕阅读器,可以方便地做书签和备注.使用git去管理图书和示例代码,一方面能够很好地保存这些资料,方便查找:另外一方面,无论在家,还是在公司,都能很好地同步自己学习的进度. 福昕阅读器5(视图--&g ...
- ubuntu 安装redis两种方式 教程
方式一: 下载地址:http://redis.io/download,下载最新文档版本. 本教程使用的最新文档版本为 2.8.17,下载并安装: $ wget http://download.redi ...
- C# 托管和非托管混合编程
在非托管模块中实现你比较重要的算法,然后通过 CLR 的平台互操作,来使托管代码调用它,这样程序仍然能够正常工作,但对非托管的本地代码进行反编译,就很困难. 最直接的实现托管与非托管编程的方法就是 ...
- 常见jquery插件
1.JQuery Tooltipster 2.Bootstrap 3.jQuery UI 1.10
- 三维空间旋转和Three.JS中的实现
三维空间中主要有两种几何变换,一种是位置的变换,位置变换和二维空间的是一样的.假设一点P(X1,Y1,Z1) 移动到Q(X2,Y2,Z2)只要简单的让P点的坐标值加上偏移值就可以了.但是三维空间的旋转 ...
- Android中View绘制流程以及invalidate()等相关方法分析
[原文]http://blog.csdn.net/qinjuning 整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简 ...
- Norflash控制器的Verilog建模之二(仿真)
前言:经过几天修改,norflash控制器基本已经完成,通过仿真.完整的norflash包含2个模块:直接操作硬件的norflash_ctrl.v与控制ctrl模块的驱动norflash_driver ...