linq 高集成化数据访问技术
一: 新建名为linq的项目
创建 linq
1 在项目里添加文件夹 App_Code;
2 在文件夹(App_Code) 添加 名为db的 Linq To Sql 类 :一个Linq To Sql 类对应一个数据库且不能重名。
3 点击服务器资源管理器 出现以下界面:
(图一) 
4.点击上图提示的连接服务器的图标,出现以下界面:
(图二)

5 连接到名为(.)的数据库,用身份验证进入数据库选择所用表的数据库文件夹名
6 将所用的表拖到(图一)里,出现以下界面(图三) ★注意所用的表必须设定主外键。

二: 写方法
1 查询表里全部用户:
引用命名空间 : using linq.App_Code
1)查全部:
using (dbDataContext con = new dbDataContext()) // 引用数据库
{
List<Users> li = con.Users.ToList(); //从数据库查询出来的所有用户信息(li)
foreach (Users u in li) //从集合里遍历出来的u 就是每个用户的信息
{ }
}
2)精确查:
using (dbDataContext con = dbDataContext())
{
string x = "三";
string y = "";
List<Users> li = con.Users.Where(r=>r.Nickname==x&&r.password==y) .ToList();//从数据库查询出来的所有用户名为“三”并且密码是123的用户
foreach (Users u in li) //从集合里遍历出来的u 就是每个用户的信息
{ }
}
3) 模糊差:
using (dbDataContext con = new dbDataContext())
{
string x = "三";
List<Users> li = con.Users.Where(r=>r.Nickname.Contains(x)) .ToList(); // 从数据库查询出来的所有昵称包含“三”字符的用户
foreach (Users u in li) // 从集合里遍历出来的u 就是每个用户的信息
{
}
}
4)查其中一个的数据:
using (DataClasses1DataContext con = new DataClasses1DataContext())
{
Users u = con.Users.FirstOrDefault(); //从数据库查询所有中的第一条用户信息
}
5)添加数据:
using (dbDataContext con = new dbDataContext())
{
Users us = con.Users.Where(a => a.UserName == textBox1.Text).FirstOrDefault(); if (us != null)
{
MessageBox.Show("用户已存在,请重新输入"); //
}
else
{ Users u = new Users();
if (u != null)
{
u.UserName = textBox1.Text;
string x = textBox2.Text;
string y = textBox3.Text;
if (x != y)
{
MessageBox.Show("两次密码输入不一致");
return; }
else
{
u.password = textBox3.Text;
u.Nickname = textBox4.Text;
if (radioButton1.Checked == true)
{
u.sex = true;
}
else
{
u.sex = false;
} u.brithday = Convert.ToDateTime(maskedTextBox1.Text);
if (comboBox1.SelectedText == "汉族")
{
u.NationCode = "N001";
}
else if (comboBox1.SelectedText == "藏族")
{
u.NationCode = "N003"; }
else if (comboBox1.SelectedText == "黎族")
{
u.NationCode = "N004";
}
else
{
u.NationCode = "N005";
}
con.Users.InsertOnSubmit(u); //连接数据库Users表并提交增加的用户信息u;
con.SubmitChanges(); // 向数据库提交改变;
MessageBox.Show("添加成功");
} }
6) 删除数据:
using (dbDataContext con = new dbDataContext())
{
List<Users> u = con.Users.Where(a => a.Ids.ToString() == listView1.SelectedItems[].Text).ToList();
DialogResult dr= MessageBox.Show("确定删除吗","删除",MessageBoxButtons.OKCancel);
if (dr == DialogResult.OK)
{
con.Users.DeleteOnSubmit(u[]); //从表里删除选中的用户信息
con.SubmitChanges(); //并提交改变
MessageBox.Show("删除成功");
7) 改数据:
using (dbDataContext con = new dbDataContext())
{
Users u = con.Users.Where(a => a.Ids.ToString() == id).FirstOrDefault();
if (u != null)
{
u.Nickname = textBox34.Text;
if (radioButton1.Checked == true)
{
u.sex = true;
}
else
{
u.sex =false;
}
u.brithday = Convert.ToDateTime(textBox35.Text);
u.Nation.NationName = textBox36.Text;
con.SubmitChanges();
MessageBox.Show("修改成功");
}
linq 高集成化数据访问技术的更多相关文章
- ADO.NET数据访问技术
ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...
- [翻译]比较ADO.NET中的不同数据访问技术(Performance Comparison:Data Access Techniques)
Performance Comparison: Data Access Techniques Priya DhawanMicrosoft Developer Network January 2002 ...
- Spring Data:企业级Java的现代数据访问技术(影印版)
<Spring Data:企业级Java的现代数据访问技术(影印版)>基本信息原书名:Spring Data:Modern Data Access for Enterprise Java作 ...
- jdbc数据访问技术
jdbc数据访问技术 1.JDBC如何做事务处理? Con.setAutoCommit(false) Con.commit(); Con.rollback(); 2.写出几个在Jdbc中常用的接口 p ...
- asp.net LINQ数据访问技术from where select order by子句
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...
- ADO.NET(数据访问技术)
简单的说,C#已经内置了一些类,我们可以利用这些类来访问数据库.在这里,我们假设读者已经熟悉SqlServer数据库或者其它数据库(我以后也会补上相关内容).我们如何来实现这项技术呢?大致可以分为三个 ...
- iOS 结构化数据访问
一.介绍 在存储大量数据时,除了最基本的打开文件,读取文件,存盘等这些没有明确管理机制的方式来存储数据外,iOS还提供了另外几种重要的数据存储方式.虽然这些方式最后还是将数据存储在文件中,但是iOS以 ...
- EFCore学习记录--数据访问技术人门
1.安装Microsoft.EntityFrameworkCore.Sqlite.Microsoft.EntityFrameworkCore.Tools包2.创建模型 数据库上下文模型:Bloggin ...
- EFCore学习记录--数据访问技术人门2
1 code fist 1.创建实体类: 2.创建DbContext类: mysql连接字符串是:Server=127.0.0.1;Port=3306;Database=BlogDb; User=ro ...
随机推荐
- 《利用Hyper-V搭建虚拟机》一篇管够,持续更新
开门见山:win10+Hyper-V+ContOS7.X 万物皆有目的:没钱买云服务器,但平时在家想持续学习,可以考虑在自己windows上搭建一台虚拟机,然后装上Linux,调试通网络进行开发. 涉 ...
- POJ 1797 最短路变形所有路径最小边的最大值
题意:卡车从路上经过,给出顶点 n , 边数 m,然后是a点到b点的权值w(a到b路段的承重),求卡车最重的重量是多少可以从上面经过. 思路:求所有路径中的最小的边的最大值.可以用迪杰斯特拉算法,只需 ...
- Java基础语法(11)-面向对象之关键字
title: Java基础语法(11)-面向对象之关键字 blog: CSDN data: Java学习路线及视频 1.this this是什么 它在方法内部使用,即这个方法所属对象的引用: clas ...
- (note)从小白到产品经理之路
学习了云课堂的产品课程,整理出部分笔记,以作备用参考,方便实际运用过程中查看巩固. 1.产品工具:Axure.mindmanager.viso.办公软件wps 2.产品人需要具备的品格 富有同理心,习 ...
- eureka和zookeeper注册中心的区别
ookeeper与Eureka区别 CPA理论:一个分布式系统不可能同时满足C(一致性).A(可用性)和P(分区容错性).由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡. ...
- 基于vue-cli-和element-ui的开发admin(1)
//首先以下仅是记录个人本次vue后台管理系统的登录界面部分操作的流程以及踩坑的注意点 一.首先是搭建vue-cli工作环境 这里有两种方式:1.用npm:(在安装了vue,vue-cli以及webp ...
- JSP学习笔记(三)
jsp与javabean 编写javabean 创建与使用bean 获取和修改bean的属性 javabean是一种java类,是通过封装属性和方法成为具有某种功能或处理某个业务的对象,简称bean, ...
- 在MVC三层项目中如何使用Log4Net
--前期准备(添加到队列中) 0-1在新建后的MVC项目中的[Models]中添加一个类,用于处理异常信息,并继承自HandleErrorAttribute public class MyExcept ...
- 30款Django 常用的软件包
30款Django 常用的软件包 Django是一款高级的Python Web框架,可以帮助开发者快速创建web应用.我们这里整理了30款Django开发中常用的软件包,学会使用它们可以节省大量开发时 ...
- 算法(algorithm)
算法是什么? 算法是指令的集合,是为解决特定问题而规定的一系列操作. 它是明确定义的可计算过程,以一个数据集合作为输入,并产生一个数据集合作为输出. 一个算法通常来说具有以下五个特性: 1.输入:一个 ...