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代码以查询数据库相同的方式操 ...
随机推荐
- System.Data.OleDb.OleDbException: 未指定的错误的解决方法
异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误 这个错误是access数据库特有的错误,当access频繁读取或操作过多的时候就会发生这个错误,微软官 ...
- JVM1.6 GC详解
前言 JVM GC是JVM的内存回收算法,调整JVM GC(Garbage Collection),可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率. ...
- Nexus3.0.0+Maven的使用(三)
这章主要讲怎么和Maven做集成,集成的方式主要分以下种情况:代理中央仓库.Snapshot包的管理.Release包的管理.第三方Jar上传到Nexus上 1 代理中央仓库 只要在PMO文件中配置 ...
- css相对定位+浮动实现元素位置互换
1.设置元素透明度 opacity:0.5; // w3c filter:alpha(opacity=50); //IE 2 position:relative; float:left; 一起使用的效 ...
- Java 多张图片合成一张 drawImage
package com.yunfengtech.solution.business; import java.awt.Color; import java.awt.Graphics; import ...
- selenium 介绍1
本文主要是吸收这些帖子的营养,多谢互联网,和未知名作者. http://www.ltesting.net/ceshi/open/kygncsgj/selenium/2011/1009/203318.h ...
- chadang saidui
http://www.freehacktools.com/ wen http://www.hackyshacky.com/2013/02/Must-have-hacking-tools.html ...
- 一个.NET通用JSON解析/构建类的实现(c#)转
转自:http://www.cnblogs.com/xfrog/archive/2010/04/07/1706754.html NET通用JSON解析/构建类的实现(c#) 在.NET Framewo ...
- CRLF和LF
协作项目,开发环境不同(mac,window)构建过程中,命令行报错(expecting LF but only find CRLF) 打开git bash,输入 $ git config --glo ...
- 第一章 Andorid系统移植与驱动开发概述 - 读书笔记
Android驱动月考1 第一章 Andorid系统移植与驱动开发概述 - 读书笔记 1.Android系统的架构: (1)Linux内核,Android是基于Linux内核的操作系统,并且开源,所以 ...