一:  新建名为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. 使用Keras进行深度学习:(三)使用text-CNN处理自然语言(上)

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 上一篇文章中一直围绕着CNN处理图像数据进行讲解,而CNN除了处理 ...

  2. 一个完整的机器学习项目在Python中演练(三)

    大家往往会选择一本数据科学相关书籍或者完成一门在线课程来学习和掌握机器学习.但是,实际情况往往是,学完之后反而并不清楚这些技术怎样才能被用在实际的项目流程中.就像你的脑海中已经有了一块块"拼 ...

  3. 【转载】卸载Anaconda教程

    文章来源:https://docs.continuum.io/anaconda/install/uninstall/ 卸载Anaconda 要卸载Anaconda,您可以简单地删除该程序.这将留下一些 ...

  4. 使用Dism命令对Win7镜像进行操作

    在操作前,我们需要下载Win7部署工具AIK和Win7原版镜像 ★镜像迅雷链接 ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408 ...

  5. Python常用模块之模块的使用

      一 模块介绍 1.什么是模块? #常见的场景:一个模块就是一个包含了一组功能的python文件,比如spam.py,模块名为spam,可以通过import spam使用. #在python中,模块 ...

  6. 【python系统学习13】类(class)与对象(object)

    目录: 类(class)和实例 类 实例 小测试 对象(object) 属性和方法 类的创建 伪代码 示例代码 属性(attribute) 方法(method) 类的实例化 实例对象调用类属性和方法 ...

  7. c语言 0与非0

    ------------恢复内容开始------------ 结论: 其它的编程语言中有布尔数据类型,并用百来表示逻辑真和逻辑假,C语言没有这个内置类度型,在C语言中真和假是用整型值来表示知的,0就表 ...

  8. Redis 哨兵模式(Sentinel)

    上一篇我们介绍了 redis 主从节点之间的数据同步复制技术,通过一次全量复制和不间断的命令传播,可以达到主从节点数据同步备份的效果,一旦主节点宕机,我们可以选择一个工作正常的 slave 成为新的主 ...

  9. spark——spark中常说RDD,究竟RDD是什么?

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是spark专题第二篇文章,我们来看spark非常重要的一个概念--RDD. 在上一讲当中我们在本地安装好了spark,虽然我们只有lo ...

  10. 尝试用tornado部署django

    import os from tornado.options import options, define from tornado import httpserver from tornado.io ...