C#如何使用LINQ查询数据(一)
2012-03-03 18:41
531 查看
在这篇文章中capucivar将介绍使用LINQ查询不同存储形式的数据的优势。
查询集合中的数据,实例中我们将查询字符串数组里索引为偶数的字符串,先来看看使用foreach查询集合。
使用foreach语句查询集合中的数据
public void OldQuery()
{
string[] datasource = new string[10];
for (int i = 0; i < 10; i++)
{
datasource = “A” + i.ToString().PadLeft(2, ’0′);
}
ArrayList results = new ArrayList();//动态创建数组,保存查询结果
foreach (string s in datasource)
{
int index = Int32.Parse(s.Substring(1));//获取元素的序号
if (index % 2 == 0)//查询序号为偶数的元素
{
results.Add(s);
}
}
foreach (string s in results)
{
Response.Write(s+”<br />”);
}
}
使用LINQ查询集合中的数据
public void LinqQuery()
{
string[] datasource = new string[10];
for (int i = 0; i < 10; i++)
{
datasource = “A” + i.ToString().PadLeft(2, ’0′);
}
//创建查询,获取序号为偶数的的元素
var results = from s in datasource
let index = Int32.Parse(s.Substring(1))
where index % 2 == 0
select s;
//输出结果
foreach (string s in results) {
Response.Write(s + “<br/>”);
}
}
比较:使用foreach语句在查询数据时,foreach语句查询代码相对繁琐。而使用LINQ查询数据,一个查询表达式即可实现查询和配置查询条件两个功能,代码量相对减少,比较简洁直观。特别当包含大量的查询条件时,使用LINQ查询的代码更加显得简洁直观。
查询结果:
查询数据库中的数据,这个实例我们使用pubs数据库中的jobs表来讲解。
查询数据库中的数据传统方法往往是使用SQL语句或存储过程直接从数据库中查询数据。使用LINQ查询数据库中的数据时,首先为该数据库创建实体类,然后使用LINQ查询表达式查询表中的数据。
使用SQL语句查询数据库中的数据
在web.config文件中创建数据库连接:
<connectionStrings>
<add name=”DbConn” connectionString=”Data source=localhost;Initial Catalog=pubs;user id=sa;password=;” />
</connectionStrings>
通过sql查询数据:
public void SqlQuery()
{
string sql = “select * from jobs”;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DbConn"].ToString();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(dt);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
使用LINQ查询数据库中的数据
使用Linq查询数据库表中的数据,首先需要创建一个dbml文件(LinqDB.dbml):
接下来在LinqDB.dbml文件中创建数据库连接。在服务器资源管理器中,数据连接节点上右键添加连接,出现如下图:
填写之后确定,然后展开数据库连接表的节点,将需要查询的标拖到右侧是设计视图中:
最后实现查询:
public void LinqSqlQuery()
{
LinqDBDataContext db = new LinqDBDataContext();//创建pubs数据库的数据实例
var results = from u in db.jobs
select u;//创建查询,关于语法上篇文中有提到过
this.GridView1.DataSource = results;
this.GridView1.DataBind();
}
结果如下图:
比较:使用LINQ查询数据库中的代码比较简介,而使用传统的ADO.NET方法查询数据库中的数据比较烦琐。
查询集合中的数据,实例中我们将查询字符串数组里索引为偶数的字符串,先来看看使用foreach查询集合。
使用foreach语句查询集合中的数据
public void OldQuery()
{
string[] datasource = new string[10];
for (int i = 0; i < 10; i++)
{
datasource = “A” + i.ToString().PadLeft(2, ’0′);
}
ArrayList results = new ArrayList();//动态创建数组,保存查询结果
foreach (string s in datasource)
{
int index = Int32.Parse(s.Substring(1));//获取元素的序号
if (index % 2 == 0)//查询序号为偶数的元素
{
results.Add(s);
}
}
foreach (string s in results)
{
Response.Write(s+”<br />”);
}
}
使用LINQ查询集合中的数据
public void LinqQuery()
{
string[] datasource = new string[10];
for (int i = 0; i < 10; i++)
{
datasource = “A” + i.ToString().PadLeft(2, ’0′);
}
//创建查询,获取序号为偶数的的元素
var results = from s in datasource
let index = Int32.Parse(s.Substring(1))
where index % 2 == 0
select s;
//输出结果
foreach (string s in results) {
Response.Write(s + “<br/>”);
}
}
比较:使用foreach语句在查询数据时,foreach语句查询代码相对繁琐。而使用LINQ查询数据,一个查询表达式即可实现查询和配置查询条件两个功能,代码量相对减少,比较简洁直观。特别当包含大量的查询条件时,使用LINQ查询的代码更加显得简洁直观。
查询结果:
查询数据库中的数据,这个实例我们使用pubs数据库中的jobs表来讲解。
查询数据库中的数据传统方法往往是使用SQL语句或存储过程直接从数据库中查询数据。使用LINQ查询数据库中的数据时,首先为该数据库创建实体类,然后使用LINQ查询表达式查询表中的数据。
使用SQL语句查询数据库中的数据
在web.config文件中创建数据库连接:
<connectionStrings>
<add name=”DbConn” connectionString=”Data source=localhost;Initial Catalog=pubs;user id=sa;password=;” />
</connectionStrings>
通过sql查询数据:
public void SqlQuery()
{
string sql = “select * from jobs”;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DbConn"].ToString();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(dt);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
使用LINQ查询数据库中的数据
使用Linq查询数据库表中的数据,首先需要创建一个dbml文件(LinqDB.dbml):
接下来在LinqDB.dbml文件中创建数据库连接。在服务器资源管理器中,数据连接节点上右键添加连接,出现如下图:
填写之后确定,然后展开数据库连接表的节点,将需要查询的标拖到右侧是设计视图中:
最后实现查询:
public void LinqSqlQuery()
{
LinqDBDataContext db = new LinqDBDataContext();//创建pubs数据库的数据实例
var results = from u in db.jobs
select u;//创建查询,关于语法上篇文中有提到过
this.GridView1.DataSource = results;
this.GridView1.DataBind();
}
结果如下图:
比较:使用LINQ查询数据库中的代码比较简介,而使用传统的ADO.NET方法查询数据库中的数据比较烦琐。
相关文章推荐
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- C#程序中使用LINQ to XML来查询XML格式数据的实例
- c# 如何:使用 LINQ 查询 ArrayList (转msdn)
- c# 使用linq查询子句方式实现 字符串数组统计操作
- 使用C#反射实现数据查询
- NHibernate初学者指南(15):使用LINQ to NHibernate提供程序查询数据
- hibernate使用createQuery(hql)语句仅查询部分字段,应如何获得数据
- 如何使用 ASP.NET查询和显示 Excel 数据
- 查询数据时是否使用LINQ的区别
- 如何使用ASP.NET查询和显示Excel数据
- LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据
- 浅析如何将C#数据查询结果放进Combobox中
- (六)Net Core项目使用Controller之一 c# log4net 不输出日志 .NET Standard库引用导致的FileNotFoundException探究 获取json串里的某个属性值 common.js 如何调用common.js js 筛选数据 Join 具体用法
- Excel中 如何使用不连贯的数据来创建图表(C#)