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 ...
随机推荐
- python3.6编程第一课画个五角星
使用的是海龟图库 turtle import turtle turtle.forward(100) turtle.right(144) turtle.forward(100) turtle.righ ...
- python中tornado的第一个例子
1 先安装tornado pip install tornado 2 新建tor.py 记住不能建立 tornado.py 这样的名字 不然会报错 ImportError: No module n ...
- JDK常用命令
转自:https://www.cnblogs.com/saiQsai/p/10353044.html 1.jps 查看java进程,得到进程ID:7854 作用等同于:ps -ef | grep ja ...
- 容器网络之 veth设备
创建命名空间 # ip netns add mhc # ip link show1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue ...
- Linux学习---新建文件,查看文件,修改权限,删除
过程:在一个文件夹下面新建一个文件,然后查看文件,再修改权限,运行,最后删除 1.新建文件: touch Test.sh 补充:新建文件有好多种方式,一般用mkdir(创建目录,即文件夹).touc ...
- SpringAop及拦截器
一.Aop Aop,面向切面编程,提供了一种机制,在执行业务前后执行另外的代码. 切面编程包括切面(Aspect),连接点(Joinpoint).通知(Advice).切入点(Pointcut).引入 ...
- _MainTex_TexelSize what's the meaning?
uniform float4 _MainTex_TexelSize where is the value of the float4 _MainTexelSize from? It's set by ...
- acer笔记本禁用或关闭触摸板
acer笔记本禁用或关闭触摸板 如果启用或停用AspireOne的触摸板? 如果您希望启用或停用触摸板,请同时按下功能键(Fn)key和F7键.屏幕上会显示触摸板是否已启用或已禁用.
- Java核心技术-集合
在实现方法时,选择不同的数据结构会导致其实现风格以及性能存在着很大的差异,例如: 需要快速地搜索成千上万个有序的数据项吗?需要快速地在有序的序列中插入和删除元素吗?需要建立键与值之间的关联吗? 1 J ...
- QEMU 代码分析:BIOS 的加载过程
http://www.ibm.com/developerworks/cn/linux/1410_qiaoly_qemubios/ QEMU 中使用 BIOS 简介 BIOS 提供主板或者显卡的固件信息 ...