Linq与数据库的连接显示查询(一)
使用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
代码如下:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace linqyongfa
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- //连接数据库
- string strstu = " Data Source =.; Initial Catalog = Exam01WebService01; Integrated Security = True";
- //声明linq连接对象也即是数据上下文类
- DataClasses1DataContext linq;
- //from加载
- private void Form1_Load(object sender, EventArgs e)
- {
- Bindinfo();
- }
- //显示和按条件查询
- private void Bindinfo()
- {
- linq = new DataClasses1DataContext(strstu);
- if (textBox1.Text=="")
- {
- var resault = from info in linq.Student
- select new
- {
- 员工编号 = info.Id,
- 姓名 = info.Name,
- 性别 = info.Sex,
- 电话 = info.Phone,
- 邮箱 = info.Email,
- 家乡 = info.HomePlace,
- };
- dataGridView1.DataSource = resault;
- }
- else
- {
- switch (comboBox1.Text)
- {
- case "员工编号"://根据员工编号查询
- var resaultid = from info in linq.Student
- where info.Id == Convert.ToInt32(textBox1.Text)
- select new
- {
- 员工编号 = info.Id,
- 姓名 = info.Name,
- 性别 = info.Sex,
- 电话 = info.Phone,
- 邮箱 = info.Email,
- 家乡 = info.HomePlace,
- };
- dataGridView1.DataSource = resaultid;
- break;
- case "姓名"://根据姓名查询
- var resaultName = from info in linq.Student
- where info.Name == textBox1.Text
- select new
- {
- 员工编号 = info.Id,
- 姓名 = info.Name,
- 性别 = info.Sex,
- 电话 = info.Phone,
- 邮箱 = info.Email,
- 家乡 = info.HomePlace,
- };
- dataGridView1.DataSource = resaultName;
- break;
- case "地址"://根据地址搜索
- var resaultHomePlace = from info in linq.Student
- where info.HomePlace == textBox1.Text
- select new
- {
- 员工编号 = info.Id,
- 姓名 = info.Name,
- 性别 = info.Sex,
- 电话 = info.Phone,
- 邮箱 = info.Email,
- 家乡 = info.HomePlace,
- };
- dataGridView1.DataSource = resaultHomePlace;
- break;
- default:
- break;
- }
- }
- }
- }
- }
Linq与数据库的连接显示查询(一)的更多相关文章
- Java对MySQL数据库进行连接、查询和修改(转)
Java对MySQL数据库进行连接.查询和修改 0. 一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection( ...
- python中的MySQL数据库操作 连接 插入 查询 更新 操作
MySQL数据库 就数据库而言,连接之后就要对其操作.但是,目前那个名字叫做qiwsirtest的数据仅仅是空架子,没有什么可操作的,要操作它,就必须在里面建立“表”,什么是数据库的表呢?下面摘抄自维 ...
- Java对MySQL数据库进行连接、查询和修改【转载】
一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象. (3) 创 ...
- Oracle数据库SQLPLUS 连接显示 ??? 的解决
linux下 安装了中文版本的,造成sqlplus 连接时出现了乱码 如图 一开始以为是LANG 变量的问题 后来发现是NLS_LANG的问题 解决方法: export NLS_LANG=" ...
- JAVA数据库处理(连接,数据查询,结果集返回)
package john import java.io.IOException; import java.util.*; public class QueryDataRow { public Hash ...
- C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示
序言 众所周知,Oracle数据库和MySQL数据库一般在大型项目中使用,在某些小型项目中Access数据库使用较为方便,今天记录一下VS2019 WinFrm应用程序连接Access数据库,并实现数 ...
- MVC设计模式下实现数据库的连接,并获取所有数据到浏览器页面上显示
实现建立一个学生的java类:里面封装了属性的全部属性: public class Student { private int id; private String username; private ...
- Linq to Entity中连接两个数据库时要注意的问题
Linq to Entity中连接两个数据库时要注意的问题 今天大学同学问了我一个问题,Linq to Entity中连接两个数据库时,报错“指定的 LINQ 表达式包含对与不同上下文关联的查询的引用 ...
- MySql数据库之连接查询
在MySql数据库中连接查询分为以下几种方式: 1.内连接查询 内连接查询通过关键字 inner join 关键字来实现,通过代码实现: select * from 表1 inner join 表2 ...
随机推荐
- Centos编译Redis4.0.9源码过程记录
mkdir /home/redis cd /home/redis 下载源码 wget https://codeload.github.com/antirez/redis/tar/4.0.9 解压源码包 ...
- python logging 重复写日志问题
用Python的logging模块记录日志时,遇到了重复记录日志的问题,第一条记录写一次,第二条记录写两次,第三条记录写三次...很头疼,这样记日志可不行.网上搜索到了原因与解决方案: 原因:没有移除 ...
- Nginx rewrite使用
转自: https://www.cnblogs.com/czlun/articles/7010604.html
- fft 远程服务器返回错误 550返回码
"远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)"时,可能是如下原因: 1.URL路径不对,看看有没有多加空格,或者大小写问题 2.权限是否足 3.需 ...
- 让 IE6支持max-height
min-height min-height:100px; _height:100px max-height max-height:200px; overflow:auto;/*超出部分显示滚动条*/ ...
- Linux CentOS修改网卡IP/网关设置
1. 修改对应网卡IP的配置文件 修改以下内容 2. 修改对应网卡的网关的配置文件 vi /etc/sysconfig/network 修改以下内容 3. CentOS 修改DNS 修改以下内容 4. ...
- 使用BMFont
[使用BMFont] 参考1说明如何根据ttf字体生成fnt.png. 参考2说明如何根据自定义图片生成fnt.png. 分三步: 1.Edit->Open Image Manager.导入需要 ...
- nyoj36-最长公共子序列 (LCS)
http://acm.nyist.net/JudgeOnline/problem.php?pid=36 最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 ...
- CF 990 Educational Codeforces Round 45
既然补了就简单记录一下. 感觉还算有一点营养. 官方题解传送门:点我 A Commentary Boxes 对拆掉$n \mod m$个和新建$m - (n \mod m)$求个最小. #includ ...
- Android使用ListView使用方法
Android使用ListView应该注意的地方 在ListView中设置Selector为null会报空指针? mListView.setSelector(null);//空指针 试试下面这种: ...