使用linq查询sql数据库是首先需要创建一个 linq  to  sql 类文件

创建linq  to  sql的步骤:

1在Visual  Studio 2015开发环境中建立一个目标框架 Framework  SDK4.6的项目

2.在解决方案下的windows 窗体资源管理器下点击右键选择  添加 添加新项目

:

3.这个Student就是一个表名字将这个表拖至服务资源故那里器中.

4前面起得名字会变为另外一种数据上下文类  比如:起得名字是student  则系统自动生成的数据上下文类是studentDateContext.

5创建一个windows窗体应用程序,添加一个下拉框和文本框和DateGridView控件.

下拉列表的名字叫做comboBox1文本框textBox1  DateGridView叫做DateGridView1

代码如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace linqyongfa
  12. {
  13. public partial class Form1 : Form
  14. {
  15. public Form1()
  16. {
  17. InitializeComponent();
  18. }
  19. //连接数据库
  20. string strstu = " Data Source =.; Initial Catalog = Exam01WebService01; Integrated Security = True";
  21. //声明linq连接对象也即是数据上下文类
  22. DataClasses1DataContext linq;
  23. //from加载
  24. private void Form1_Load(object sender, EventArgs e)
  25. {
  26. Bindinfo();
  27. }
  28. //显示和按条件查询
  29. private void Bindinfo()
  30. {
  31. linq = new DataClasses1DataContext(strstu);
  32. if (textBox1.Text=="")
  33. {
  34. var resault = from info in linq.Student
  35. select new
  36. {
  37. 员工编号 = info.Id,
  38. 姓名 = info.Name,
  39. 性别 = info.Sex,
  40. 电话 = info.Phone,
  41. 邮箱 = info.Email,
  42. 家乡 = info.HomePlace,
  43. };
  44. dataGridView1.DataSource = resault;
  45. }
  46. else
  47. {
  48. switch (comboBox1.Text)
  49. {
  50. case "员工编号"://根据员工编号查询
  51. var resaultid = from info in linq.Student
  52. where info.Id == Convert.ToInt32(textBox1.Text)
  53. select new
  54. {
  55. 员工编号 = info.Id,
  56. 姓名 = info.Name,
  57. 性别 = info.Sex,
  58. 电话 = info.Phone,
  59. 邮箱 = info.Email,
  60. 家乡 = info.HomePlace,
  61. };
  62. dataGridView1.DataSource = resaultid;
  63. break;
  64. case "姓名"://根据姓名查询
  65. var resaultName = from info in linq.Student
  66. where info.Name == textBox1.Text
  67. select new
  68. {
  69. 员工编号 = info.Id,
  70. 姓名 = info.Name,
  71. 性别 = info.Sex,
  72. 电话 = info.Phone,
  73. 邮箱 = info.Email,
  74. 家乡 = info.HomePlace,
  75. };
  76. dataGridView1.DataSource = resaultName;
  77. break;
  78. case "地址"://根据地址搜索
  79. var resaultHomePlace = from info in linq.Student
  80. where info.HomePlace == textBox1.Text
  81. select new
  82. {
  83. 员工编号 = info.Id,
  84. 姓名 = info.Name,
  85. 性别 = info.Sex,
  86. 电话 = info.Phone,
  87. 邮箱 = info.Email,
  88. 家乡 = info.HomePlace,
  89. };
  90. dataGridView1.DataSource = resaultHomePlace;
  91. break;
  92. default:
  93.  
  94. break;
  95. }
  96.  
  97. }
  98.  
  99. }
  100.  
  101. }
  102. }

Linq与数据库的连接显示查询(一)的更多相关文章

  1. Java对MySQL数据库进行连接、查询和修改(转)

    Java对MySQL数据库进行连接.查询和修改 0. 一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection( ...

  2. python中的MySQL数据库操作 连接 插入 查询 更新 操作

    MySQL数据库 就数据库而言,连接之后就要对其操作.但是,目前那个名字叫做qiwsirtest的数据仅仅是空架子,没有什么可操作的,要操作它,就必须在里面建立“表”,什么是数据库的表呢?下面摘抄自维 ...

  3. Java对MySQL数据库进行连接、查询和修改【转载】

    一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象. (3) 创 ...

  4. Oracle数据库SQLPLUS 连接显示 ??? 的解决

    linux下 安装了中文版本的,造成sqlplus 连接时出现了乱码 如图 一开始以为是LANG 变量的问题 后来发现是NLS_LANG的问题 解决方法: export NLS_LANG=" ...

  5. JAVA数据库处理(连接,数据查询,结果集返回)

    package john import java.io.IOException; import java.util.*; public class QueryDataRow { public Hash ...

  6. C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示

    序言 众所周知,Oracle数据库和MySQL数据库一般在大型项目中使用,在某些小型项目中Access数据库使用较为方便,今天记录一下VS2019 WinFrm应用程序连接Access数据库,并实现数 ...

  7. MVC设计模式下实现数据库的连接,并获取所有数据到浏览器页面上显示

    实现建立一个学生的java类:里面封装了属性的全部属性: public class Student { private int id; private String username; private ...

  8. Linq to Entity中连接两个数据库时要注意的问题

    Linq to Entity中连接两个数据库时要注意的问题 今天大学同学问了我一个问题,Linq to Entity中连接两个数据库时,报错“指定的 LINQ 表达式包含对与不同上下文关联的查询的引用 ...

  9. MySql数据库之连接查询

    在MySql数据库中连接查询分为以下几种方式: 1.内连接查询 内连接查询通过关键字 inner join 关键字来实现,通过代码实现: select * from 表1 inner join 表2 ...

随机推荐

  1. Centos编译Redis4.0.9源码过程记录

    mkdir /home/redis cd /home/redis 下载源码 wget https://codeload.github.com/antirez/redis/tar/4.0.9 解压源码包 ...

  2. python logging 重复写日志问题

    用Python的logging模块记录日志时,遇到了重复记录日志的问题,第一条记录写一次,第二条记录写两次,第三条记录写三次...很头疼,这样记日志可不行.网上搜索到了原因与解决方案: 原因:没有移除 ...

  3. Nginx rewrite使用

    转自: https://www.cnblogs.com/czlun/articles/7010604.html

  4. fft 远程服务器返回错误 550返回码

    "远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)"时,可能是如下原因: 1.URL路径不对,看看有没有多加空格,或者大小写问题 2.权限是否足 3.需 ...

  5. 让 IE6支持max-height

    min-height min-height:100px; _height:100px max-height max-height:200px; overflow:auto;/*超出部分显示滚动条*/ ...

  6. Linux CentOS修改网卡IP/网关设置

    1. 修改对应网卡IP的配置文件 修改以下内容 2. 修改对应网卡的网关的配置文件 vi /etc/sysconfig/network 修改以下内容 3. CentOS 修改DNS 修改以下内容 4. ...

  7. 使用BMFont

    [使用BMFont] 参考1说明如何根据ttf字体生成fnt.png. 参考2说明如何根据自定义图片生成fnt.png. 分三步: 1.Edit->Open Image Manager.导入需要 ...

  8. nyoj36-最长公共子序列 (LCS)

    http://acm.nyist.net/JudgeOnline/problem.php?pid=36 最长公共子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 ...

  9. CF 990 Educational Codeforces Round 45

    既然补了就简单记录一下. 感觉还算有一点营养. 官方题解传送门:点我 A Commentary Boxes 对拆掉$n \mod m$个和新建$m - (n \mod m)$求个最小. #includ ...

  10. Android使用ListView使用方法

    Android使用ListView应该注意的地方   在ListView中设置Selector为null会报空指针? mListView.setSelector(null);//空指针 试试下面这种: ...