一:  新建名为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 高集成化数据访问技术的更多相关文章

  1. ADO.NET数据访问技术

    ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...

  2. [翻译]比较ADO.NET中的不同数据访问技术(Performance Comparison:Data Access Techniques)

    Performance Comparison: Data Access Techniques Priya DhawanMicrosoft Developer Network January 2002 ...

  3. Spring Data:企业级Java的现代数据访问技术(影印版)

    <Spring Data:企业级Java的现代数据访问技术(影印版)>基本信息原书名:Spring Data:Modern Data Access for Enterprise Java作 ...

  4. jdbc数据访问技术

    jdbc数据访问技术 1.JDBC如何做事务处理? Con.setAutoCommit(false) Con.commit(); Con.rollback(); 2.写出几个在Jdbc中常用的接口 p ...

  5. asp.net LINQ数据访问技术from where select order by子句

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...

  6. ADO.NET(数据访问技术)

    简单的说,C#已经内置了一些类,我们可以利用这些类来访问数据库.在这里,我们假设读者已经熟悉SqlServer数据库或者其它数据库(我以后也会补上相关内容).我们如何来实现这项技术呢?大致可以分为三个 ...

  7. iOS 结构化数据访问

    一.介绍 在存储大量数据时,除了最基本的打开文件,读取文件,存盘等这些没有明确管理机制的方式来存储数据外,iOS还提供了另外几种重要的数据存储方式.虽然这些方式最后还是将数据存储在文件中,但是iOS以 ...

  8. EFCore学习记录--数据访问技术人门

    1.安装Microsoft.EntityFrameworkCore.Sqlite.Microsoft.EntityFrameworkCore.Tools包2.创建模型 数据库上下文模型:Bloggin ...

  9. EFCore学习记录--数据访问技术人门2

    1 code fist 1.创建实体类: 2.创建DbContext类: mysql连接字符串是:Server=127.0.0.1;Port=3306;Database=BlogDb; User=ro ...

随机推荐

  1. vue采坑记录

    1.项目在浏览器运行的时候没有ico图标 <link rel="shortcut icon" type="image/x-icon" href=" ...

  2. 面试刷题21:java并发工具中的队列有哪些?

    ![image.png](https://img2020.cnblogs.com/other/268922/202003/268922-20200330183801141-1514127119.png ...

  3. Hive分析窗口函数

    数据准备 CREATE EXTERNAL TABLE lxw1234 ( cookieid string, createtime string, --day pv INT ) ROW FORMAT D ...

  4. Java基础语法(5)-特殊流程控制语句

    title: Java基础语法(5)-特殊流程控制语句 blog: CSDN data: Java学习路线及视频 1.嵌套循环结构 将一个循环放在另一个循环体内,就形成了嵌套循环.其中,for ,wh ...

  5. 技术大佬:我去,你竟然还在用 try–catch-finally

    二哥,你之前那篇 我去 switch的文章也特么太有趣了,读完后意犹未尽啊,要不要再写一篇啊?虽然用的是 Java 13 的语法,对旧版本不太友好.但谁能保证 Java 不会再来一次重大更新呢,就像 ...

  6. [Asp.Net Core] 关于 Blazor Server Side 的一些杂项, 感想

    在2016年, 本人就开始了一个内部项目, 其特点就是用C#构建DOM树, 然后把DOM同步到浏览器中显示. 并且在一些小工程中使用. 3年下来, 效果很不错, 但因为是使用C#来构建控件树, 在没有 ...

  7. 为什么我建议每个开发人员都需要学Python?

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://dzone.com/articles/10-reasons-why-every-d ...

  8. 从汇编代码理解 Block 的内存结构

    ❓ 在断点调试 iOS 程序碰到 block 作为函数的形参时,如果想知道该 block 本身的函数签名信息和函数体地址时,有哪些办法?

  9. Integer类的进制之间转换的方法

    一.两个通用方法 1.public static String toString(int i,int radix) (1)作用 将十进制的数转化成指定进制数的字符串形式:radix参数指进制数: (2 ...

  10. ECMAScript 6,es6 get和set的区别

    前言:ECMAScript 6是什么 一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系? 要讲清楚这个问题,需要回顾历史.1996 年 11 月,JavaScript ...