Linq连接数据库及查询显示数据

Linq连接数据库及查询显示数据
Linq连接数据库及查询显示数据

1、新建Linq类

2、右键添加在项目文件夹中

3、链接数据库

4、添加控件,在网页中显示数据

5、在网页代码中,构造表的结构

6、在Page_Load里写查询数据库代码

C#读取_SQL_Server_数据库表的例子

C#读取 SQL Server 数据库表的例子 using System; using System.Data; using System.Data.SqlClient; using System.Collections.Generic; using System.Linq; using System.Text; namespace A0160_SQL_Server.Sample { ///

/// 用于读取 SQL Server 数据库的例子. /// /// 注意:这个例子所使用的表和数据,请参考项目下的 Schema.sql 文件。 /// /// class ReadSqlServerData { /// /// SQL Server 的数据库连接字符串. /// private const String connString = @"Data Source=localhost\SQLEXPRESS;Initial Catalog=Sample;Integrated Security=True"; /// /// 用于查询的 SQL 语句. /// private const String SQL = @" SELECT TOP 3 ROW_NUMBER() OVER (ORDER BY SUM(SALE_MONEY) DESC) AS NO, SALE_DATE, SUM(SALE_MONEY) AS SUM_MONEY FROM SALE_REPORT GROUP BY SALE_DATE

第8章--使用LINQ进行数据访问教程文件

第8章--使用L I N Q 进行数据访问

第8章使用LINQ进行数据访问 一、选择题 1.LINQ查询表达式中必须包含()子句。 A.from B.where C.orderby D.groupby 2.在LINQ查询表达式中,()子句用于指定筛选元素的逻辑条件。 A.from B.where C.orderby D.select 3.LINQ查询表达式必须以()子句结束。 A.where B.orderby C.groupby D.select或group 4.orderby子句降序排序时使用()关键字。 A.ascending B.descending C.ASC D.DESC 5.使用LINQ操作SQL Server时,调用()方法将最终操作结果更新到数据库中。A.InsertOnSubmit B.DeleteOnSubmit C.DeleteAllOnSubmit D.SubmitChanges 6.LINQ查询表达式中使用()子句对查询结果进行分组。 A.from B.where C.orderby D.groupby 7.使用一个Lambda表达式从字符串数组s中查找包括“C#”的元素,则正确的语句是()。A.Array.Find(strLists, s => (s.IndexOf("C#") >= 0)) B.Array.FindAll(strLists, s => (s.IndexOf("C#") >= 0)) C.Array.Find (strLists, s => (https://www.360docs.net/doc/653080063.html,stIndexOf("C#") <= 0)) D.Array.FindAll(strLists, s => (https://www.360docs.net/doc/653080063.html,stIndexOf("C#")<= 0)) 8.LINQ查询表达式中使用()子句可以设置两个数据源之间的关联关系。 A.from B.groupby C.into D.join 9.下面代码实现的是()操作。 var innerJoinQuery = from main in tb_sell_main join detailed in tb_sell_detailed on main.billcode equals detailed.billcode select new { 商品编号= detailed.tradecode, 商品全称= detailed.fullname,

linq查询数据库实例

实例28、创建LINQ TO sql的步骤: 1)建立windows 窗体应用项目文件 2)选择'项目\添加新项'菜单,在类别中选择'常用项',在'模板'视图中选择'LINQ to sql '类,系统自动添加用户命名的LINQ to SQL 文件(dataclasses1.dbml) 3)选择'视图\服务器资源管理器'菜单,拖动数据链接的表或者视图节点到LINQ to SQL 的对象关系设计器设计视图的左边的一个窗格,系统将自动添加数据表。4)选择'生成\生成myform'菜单,然后选择'数据\显示数据源'菜单,弹出'数据源'窗口,单击'添加新数据源'超级链接,弹出'数据源配置向导'对话框。 5)在'数据源配置向导(选择数据源类型)'对话框的'应用程序从哪里获取数据?'列表视图中选择'对象',再单击'下一步',弹出'数据源配置向导(选择希望绑定到的对象)'对话框,在对话框的'对象位于哪个程序集中?(如果没有出现,请取消该向导,然后重现生成包含对象的项目)'的树视图中选择数据表节点(比如gsyproduct表),再单击'下一步',弹出'数据源配置向导(添加对象数据源)'对话框,在对话框中单击'完成'按钮,则会在'数据源'窗口中显示数选择的数据表(比如gsyproduct )的字段信息。 6)在'数据源'窗口中拖动'gsyproduct'节点到应用程序窗体'Form1.vb(设计)'视图,系统将自动添加相关的数据控件gsyproductbindingsource、gsyproductbindingnavigator、gsyproductdatagridview等。 7)使用鼠标双击'应用程序窗体Form1.vb(设计)'视图,系统将自动添加代码框架,在load事件处理代码框架中添加如下实现代码: public class form1 private MyDataContext as New Dataclasses1DataContext() '设置控件数据源 private sub Form1_load(ByVal sender as System.Object, ByVal e as System.EventArgs ) Handles MyBase.Load Me.gsyproductbindingsource.DataSource=MyDataContext.gsyproduct End Sub End Class

第8章使用LINQ进行数据访问

第8章使用LINQ进行数据访问 一、选择题 1.LINQ查询表达式中必须包含()子句。 A.from B.where C.orderby D.groupby 2.在LINQ查询表达式中,()子句用于指定筛选元素的逻辑条件。 A.from B.where C.orderby D.select 3.LINQ查询表达式必须以()子句结束。 A.where B.orderby C.groupby D.select或group 4.orderby子句降序排序时使用()关键字。 A.ascending B.descending C.ASC D.DESC 5.使用LINQ操作SQL Server时,调用()方法将最终操作结果更新到数据库中。A.InsertOnSubmit B.DeleteOnSubmit C.DeleteAllOnSubmit D.SubmitChanges 6.LINQ查询表达式中使用()子句对查询结果进行分组。 A.from B.where C.orderby D.groupby 7.使用一个Lambda表达式从字符串数组s中查找包括“C#”的元素,则正确的语句是()。A.Array.Find(strLists, s => (s.IndexOf("C#") >= 0)) B.Array.FindAll(strLists, s => (s.IndexOf("C#") >= 0)) C.Array.Find (strLists, s => (https://www.360docs.net/doc/653080063.html,stIndexOf("C#") <= 0)) D.Array.FindAll(strLists, s => (https://www.360docs.net/doc/653080063.html,stIndexOf("C#")<= 0)) 8.LINQ查询表达式中使用()子句可以设置两个数据源之间的关联关系。 A.from B.groupby C.into D.join 9.下面代码实现的是()操作。 var innerJoinQuery = from main in tb_sell_main join detailed in tb_sell_detailed on main.billcode equals detailed.billcode select new { 商品编号= detailed.tradecode, 商品全称= detailed.fullname, 1

如何使用LINQ检索和操作数据库

如何使用LINQ检索和操作数据库 日期:2009年7月10日作者:人气:35 查看:[大字体中字体小字体] 借助于LINQ提供的各种功能和独有的语法结构,LINQ已经被用来作为一种统一的数据库访问技术而被广泛使用,用以消除从数据访问层到数据源层出不穷的区别。通过LINQ检索,我们已经可以不用自己编写一行代码来从数据库获取到数据,LINQ和SQL之间提供了一个直接映射关系,它可以通过我们事先指定的 数据库连接自动生成数据库实体类,而我们只需要通过LINQ语句操作这些实体对象就可以非常轻松地从数据库中获取到数据。当然,LINQ所生成的实体对象 的功能远远不止这些,它甚至支持数据的更新和存储过程的调用,所有这些都可以通过简单的几行LINQ语句来完成,让我们真正摆脱了编写数据访问层、数据库实体类的工作。 下面就让我们来看看LINQ的神奇功能吧! 使用LINQ生成数据库实体类 Visual Studio 2008集成开发环境为我们提供了很多有用的功能来实现LINQ to SQL。为了让读者可以自行尝试本文所举的示例,读者可能需要在本地安装一个SQL Server数据库实例,Northwind是微软官方提供的一个不错的例子,如果你本地没有安装这个实例,可以去下面这个地址下载: https://www.360docs.net/doc/653080063.html,/downloads/details.aspx?FamilyID=06616212-035 6-46A0-8DA2-EEBC53A68034&displaylang=en 我们在Visual Studio 2008中新建一个控制台应用程序,取名为LINQExample,然后打开Server Explorer窗口并连接到Northwind数据库。如果找不到Server Explorer窗口,可以通过View-Server Explorer菜单打开。 在Server Explorer窗口中,右键单击Data Connection节点,选择Add Connection,在弹出的窗口中选择Northwind数据库。

LINQ基本语法及其示例

LINQ基本语法及其示例 说明: 1、在未作任何说明的情况下,以下用到的db变量都是DataContext的实例对象,声明语法类似如下: using (BP_DataClassesDataContext db = new BP_DataClassesDataContext(ConnectionStrings.GetInstance("ZJ").Con)) { //Code } 2、默认q为Iqueryable类型变量 简单查询: var q = from p in db.view_PreTestResultAuditList select p; 简单条件查询: 方式一:直接使用where关键字 var q = from c in db.view_PrTestList where c.FTestmanID.Equals(UserContext.CurrentUser.FID) select c; 方式二:使用lambda 表达式 var q = db.TOriInfoAutoMemory.Where(c => c.FSampleName == sampleName); 使用&&和|| 带代替And或Or关键字: var entity = db.TSampleOriginalInfo.FirstOrDefault(c => c.FFromID.Equals(fromID) && c.FSampleID.Equals(sampleID)); like模糊条件查询: //使用C#中的Contains关键字代替SQL中的like关键字 q = q.Where(c => c.FTaskCode.Contains(https://www.360docs.net/doc/653080063.html,)); In包含查询: /// string[] var certi = (from c in db.TMSCertificate where certificateIDs.ToList().Contains(c.FID.ToString()) select c).ToList(); 等价于:select * from TMSCertificate where FID in /* certificateIDs */ Skip和Take实现分页查询: var q = from c in db.view_PrTestList where c.FTestmanID.Equals(UserContext.CurrentUser.FID) select c; twi.data = (q.Skip(paging.startIndex).Take(paging.pageSize)).ToList(); //其中startIndex:跳过的系列中指定的条数 // pageSize:每页显示条数(记录数) Distinct方法去除重复: var p = (from c in dc.TSampleOriginalInfo where sampleIDs.Contains(c.FSampleID.ToString()) select new { c.FFromID,

Linq查询简介

莁LINQ 蒈LINQ,语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。 肅基本概念 螃从技术角度而言,LINQ定义了大约40个查询操作符,如select、from、in、where以及orderby(C#)中。试用这些操作可以编写查询语句。不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的LINQ类型。 肀经过了最近 20 年,面向对象编程技术( object-oriented (OO) programming technologies )在工业领域的应用已经进入了一个稳定的发展阶段。程序员现在都已经认同像类(classes)、对象(objects)、方法(methods)这样的语言特性。考察现在和下一代的技术,一个新的编程技术的重大挑战开始呈现出来,即面向对象技术诞生以来并没有解决降低访问和整合信息数据( accessing and integrating information )的复杂度的问题。其中两个最主要访问的数据源与数据库( database )和 XML 相关。 蒈LINQ 提供了一条更常规的途径即给 .Net Framework 添加一些可以应用于所有信息源( all sources of information )的具有多种用途( general-purpose )的语法查询特性( query facilities ),这是比向开发语言和运行时( runtime )添加一些关系数据( relational )特性或者类似 XML 特性( XML-specific )更好的方式。这些语法特性就叫做 .NET Language Integrated Query (LINQ) 。

LINQ体验(5)——LINQ to SQL语句之Select、Distinct和Count、Sum、Min、Max、Avg

上一篇讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ to SQL语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects、LINQ to DataSets、LINQ to SQL、LI NQ to Entities、LINQ to XML,但是相对来说LINQ to SQL在我们程序中使用最多,毕竟所有的数据都要在数据库运行着各种操作。所以先来学习LINQ to SQL,其它的都差不多了,那么就从Select 说起吧,这个在编写程序中也最为常用。本篇详细说明一下Select和Count/Sum/Min/Max/Avg。 Select/Distinct操作符 适用场景:o(∩_∩)o… 查询呗。 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也就是结果返回回来;延迟。 Select/Distinct操作包括9种形式,分别为简单形式、匿名类型形式、带条件形式、指定类型形式、过滤类型形式、shaped类型形式、嵌套类型形式、LocalMethodCall形式、Distinct形式。 1.简单形式: 注意:这个语句只是一个声明或者一个描述,并没有真正把数据取出来,只有当你需要该数据的时候,它才会执行这个语句,这就是延迟加载(deferred loading)。如果,在声明的时候就返回的结果集是对象的集合。你可以使用ToList() 或ToArray()方法把查询结果先进行保存,然后再对这个集合进行查询。当然延迟加载(deferred loading)可以像拼接SQL语句那样拼接查询语法,再执行它。 2.匿名类型形式: 说明:匿名类型是C#3.0中新特性。其实质是编译器根据我们自定义自动产生一个匿名的类来帮助我们实现临时变量的储存。匿名类型还依赖于另外一个特性:支持根据property来创建对象。比如,var d = new { Name = "s" };编译器自动产生一个有property叫做Name的匿名类,然后按这个类型分配内存,并初始化对象。但是var d = new {"s"};是编译不通过的。因为,编译器不知道匿名类中的p roperty的名字。例如string c = "d";var d = new { c}; 则是可以通过编译的。编译器会创建一个叫做匿名类带有叫c的property。 例如下例:new{c,ContactName,c.Phone};ContactName和Phone都是在映射文件中定义与表中字段相对应的property。编译器读取数据并创建对象时,会创建一个匿名类,这个类有两个属性,为Cont actName和Phone,然后根据数据初始化对象。另外编译器还可以重命名property的名字。

https://www.360docs.net/doc/653080063.html,开发大全第21章.使用LINQ查询

第21章使用LINQ查询 了解了基本的LINQ基本概念,以及Lambda表达式基础后,就能够使用LINQ进行应用程序开发。LINQ使用了Lambda表达式,以及底层接口实现了对集合的访问和查询,开发人员能够使用LINQ对不同的对象,包括数据库、数据集和XML文档进行查询。 21.1 LINQ查询概述 LINQ可以对多种数据源和对象进行查询,如数据库、数据集、XML文档甚至是数组,这在传统的查询语句中是很难实现的。如果有一个集合类型的值需要进行查询,则必须使用Where等方法进行遍历,而使用LINQ可以仿真SQL语句的形式进行查询,极大的降低了难度。 21.1.1 准备数据源 既然LINQ可以查询多种数据源和对象,这些对象可能是数组,可能是数据集,也可能是数据库,那么在使用LINQ进行数据查询时首先需要准备数据源。 1.数组 数组中的数据可以被LINQ查询语句查询,这样就省去了复杂的数组遍历。数组数据源示例代码如下所示。 string[] str = { "学习", "学习LINQ", "好好学习", "生活很美好" }; int[] inter = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 数组可以看成是一个集合,虽然数组没有集合的一些特性,但是从另一个角度上来说可以看成是一个集合。在传统的开发过程中,如果要筛选其中包含“学习”字段的某个字符串,则需要遍历整个数组。 2.SQL Server 在数据库操作中,同样可以使用LINQ进行数据库查询。LINQ以其优雅的语法和面向对象的思想能够方便的进行数据库操作,为了使用LINQ进行SQL Server数据库查询,可以创建两个表,这两个表的结构如下所示。Student(学生表): ?S_ID:学生ID。 ?S_NAME:学生姓名。 ?S_CLASS:学生班级。 ?C_ID:所在班级的ID。 上述结构描述了一个学生表,可以使用SQL语句创建学生表,示例代码如下所示。 USE [student] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO

linq to entity 详解(查询)

以Northwind为示例数据库,https://www.360docs.net/doc/653080063.html, Entity Framework之Linq To Entities Select - 选择需要返回的字段 Where - 筛选 OrderBy - 正序排序 OrderByDescending - 倒序排序 ThenBy - 在OrderBy 或OrderByDescending 的基础上再正序排序 ThenByDescending - 在OrderBy 或OrderByDescending 的基础上再倒序排序 GroupBy - 分组 Join - 连接 GroupJoin - 连接后分组 示例 Select using (var ctx = new NorthwindEntities()) { // Select 对应的Linq 方法 var p1 = ctx.Products.Select(p => new { ProductName = "产品名称:" + p.ProductName }); p1.ToList(); // Select 对应的查询语法 var p2 = from p in ctx.Products select new { ProductName = "产品名称:" + p.ProductName }; p2.ToList(); } --Select 对应的sql 语句 SELECT 1 AS [C1], N'产品名称:' + [Extent1].[ProductName] AS [C2] FROM [dbo].[Products] AS [Extent1] Where using (var ctx = new NorthwindEntities()) { // Where 对应的Linq 方法 var p1 = ctx.Products.Where(p => p.ProductID > 3); p1.ToList(); // Where 对应的查询语法 var p2 = from p in ctx.Products where p.ProductID > 3 select p; p2.ToList();

相关文档
最新文档