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 ...
随机推荐
- webkit内核的浏览器为什么removeAttribute('style')会失效?
做了一些研究,应该算是理清了问题. 首先,我们在这里常说的「属性」(attributes)其实分为两种:内容属性(content attributes)以及 IDL 属性(IDL attributes ...
- Ansible Jinja if 生成不同的MySQL文件
- 让别人能登陆你的mysql
线上的数据库肯定是不能轻易在开发新功能的时候动的,如果你的数据库跟线上不一样了又没有新数据库的备份,就很麻烦. 当然去动线上数据库,出了什么问题我是不想背锅的. 最稳健的办法!让管理线上数据库的同学, ...
- CB XE7 C11 64位编译器 成员变量初始化
看到了C++11,看到了XE7的64位,想实现下面方便的类成员初始化,失望. 一.64位用法 clang3,64位编译器,不支持中文变量名,编写代码提示没有32位快,风格简单不用写单独的赋值语句函数, ...
- Go Packages、Variables、functions
[Go Packages.Variables.functions] 1.定义包名. 2.引入Package. 3.定义导出的变量.首字母必须大写. 4.函数.Notice that the type ...
- S 导员工信息
EXCEL模板 [Public] ConnectString=host="siebel://10.10.1.174:2321/SBA_NR_DEV/SMObjMgr_chs ConnectU ...
- overloading与overriding的区别
overloading: “重载”,参数和返回值可改变. overriding: “覆盖”,重写父类的虚函数,参数和返回值必须与父类相同. 重写Overriding是父类与子类之间多态性的一种表现,重 ...
- Spring分配置文件开发
---------------------siwuxie095 Spring 分配置文件开发 Spring 分配置文件开 ...
- 简单拼接图像的tile_images和tile_images_offset算子
有时候通常需要简单的拼图,不涉及图像融合之类的,仅仅是简单的平移将多张图拼接成一张图.tile_images和tile_images_offset就是用于简单拼图的2个算子. 谈到拼图,肯定有以下问题 ...
- WSTMart开发文档
WSTMart开发文档页面 PC版 开源版 授权版 序言 WSTMart安装协议 WSTMart电商系统安装 商城前台安装操作指南 用户中心指南 商家中心操作指南 ...