LINQ在毕业设计环节系统中的应用

点赞:33544 浏览:156296 近期更新时间:2024-02-22 作者:网友分享原创网站原创

【摘 要 】LINQ作为一种新型统一数据查询模式,与.NET开发语言进行了高度的集成,简化了数据查询的编码和调试工作,提高了数据处理功能.在毕业设计环节系统中主要应用了LINQ到SQL的查询操作技术.

【关 键 词 】LINQ;查询;毕业设计环节系统

一、引言

LINQ(Language Integrated Query,语言集成查询),是Visual Studio 2008和.NET Framework 3.5中一个突破性的创新,它在对象领域和数据领域架起了一座桥梁.

在开发一个应用程序时,最常用的也是最经典的三层架构.而三层架构的最简单的实现方式就是由程序员自己编写出SQL语句,而后从数据库中取出相应数据生成DataSet或DataReader,最后绑定到表示层上.这就造成了数据库数据与表示层之间出现“紧耦合”的现象.一旦数据库结构发生变化,将造成表示层必须进行大量修改的问题,违反了“高内聚,低耦合”的设计原则.

每年一届毕业生从步入实习期开始,系部需要对学生分配实习指导教师、查询学生基本实习情况、各种资讯的发布;学生登陆录入个人实习信息,与实习教师互动,实习成绩的查询;教师对学生实习的答疑,成绩录入,查询学生信息等等,信息量大,事物繁杂.设计毕业实习环节系统就是为了提高工作效率,系部、教师、学生可以在网上进行各自的事务.

二、LINQ的概念

是一组用于c#和Visual Basic语言的扩展.它支持所有类型的数据源,使程序开发人员可以使用相同的语法在XML、SQL Server、Mysql、ADO.NET,甚至是所有支持Ienumerable或泛型IEnumerabel接口的对象集合等环境中执行查询操作.LINQ作为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查、丰富的元数据、智能感知、静态类型等强类型语言的好处.并且它同时使得查询可以方便的对内存中的信息进行查询而不仅仅只是针对外部数据源.

LINQ定义了一组标准查询操作符,该标准查询操作符运行查询作用于所有基于IEnumerabel接口的源,并且它还允许适合于目标域或技术的第三方特定域操作符来扩大标准查询操作符集.

更重要的是,第三方操作符可以用它们自己提供的附加怎么写作来实现自由标准查询操作符的替换.

三、LINQ查询步骤

查询是一种从数据源检索数据的表达式,通常使用专门的查询语言来表示.人们已经为各种数据源开发了不同的语言,编程人员不得不对每种数据源或数据格式进行有针对性的学习.

LINQ的出现改变了这种情况,它可以使用通用的基本编码模式来查询和转换不同的数据源.如xml文档,sql数据库,ado.数据集和.NET集合中的数据等.

使用LINQ的查询通常由以下三个不同的操作步骤组成:

(1)获得数据源

(2)创建查询

(3)执行查询

例如:通过使用标准LINQ查询语句获得字符串数组中每个元素的大小写格式来演示查询操作的步骤:

protected void Page_Load(object sender,EventArgs e)

{

string[] words 等于{ “aPPle”,”BlUeBeRry”,”cHeRry”,”HAryY”,”lOvE” };


int i 等于 0;

var upperLowerWords等于

from w in words

select new { Upper等于w.ToUpper(),Lower等于words.Tolower()};

foreach (var ul in upperLowerWords){

Response.Write(words[i]+”单词的大写为:”+ul.Upper+”

”);

Response.Write(words[i]+”单词的小写为:”+ul.Lower+”

”);

i++;

}

Words是第一步获得数据源;隐藏变量upperLowerWords获得关键字from和select创建LINQ查询语句查询words数组中的每个string元素;通过select执行二次查询,获得words数组中元素的大写格式和小写格式.

四、LINQ删除数据库

LINQ可以通过将对应的LINQ to SQL对象从相关的集合中实现删除数据库中的行.不过,LINQ to SQL不支持且无法识别级联删除操作.

删除数据库中数据行的操作步骤如下:

(1)查询数据库中要删除的行

(2)调用DeleteOnSubmit方法

(3)将更改提交到数据库

五、LINQ在毕业设计环节系统的应用

1.毕业设计环节系统主要模块功能

毕业设计环节系统是在VS2008环境下应用ASP.NET设计的,其后台数据库是在SQL SERVER 2005建立的.该系统模块主要包括:院级管理系统模块、系部管理模块、教师功能模块、学生功能模块.

其中院系管理系统模块主要用来完成分配角色的功能.同时能够随时查询所有毕业生毕业设计及其毕业实习情况,并能够备份数据和打印数据.

系部管理模块的主要功能是给毕业生分配毕业设计实习指导教师,发布一些系部资讯及其一些通知,并能查询毕业生实习和设计情况,并随时打印.

教师管理模块的功能检查学生信息,并与学生可以互动,随时解决学生在实习设计中的问题.并在后期可以输入学生的各项成绩. 学生管理模块的主要功能主要完成个人信息的输入,并能查询自己的毕业成绩等.

2.LINQ在该系统中的应用

(1)在教师模块、系部管理员模块中,从数据表students中获取毕业生数据并显示在gridview控件;同时在教师页面上可以实现根据学生姓名查询相关信息,在文本框中输入姓名后,单击查询按钮(Button1)进行查询,主要实现代码如下:

LINQ在毕业设计环节系统中的应用参考属性评定
有关论文范文主题研究: 关于数据库的论文范文资料 大学生适用: 研究生论文、研究生毕业论文
相关参考文献下载数量: 78 写作解决问题: 写作参考
毕业论文开题报告: 文献综述、论文设计 职称论文适用: 刊物发表、职称评副高
所属大学生专业类别: 写作参考 论文题目推荐度: 优质选题

protected void Page_Load(object sender,EventArgs e)

{

If(!IspostBack){

DataClassesDataContext da等于new DataClassesData Context();

Var user等于from s in da.Students

Select s;

GridView1.DataSource等于user;

GridView1.DataBind();

}

}

protected void Button1_Click(object sender,EventArgs e)

{

DataClassesDataContext da等于new DataClassesData Context();

Var user等于from s in da.Students

Where s.StuName等于TextBox1.Text;

Select s;

GridView1.DataSource等于user;

GridView1.DataBind();

}

(2)在系部管理员功能模块中,若对已添加的学生信息需要删除,可以根据学生姓名进行查询,然后删除.

实现过程:在gridview中显示所有学生信息,通过下拉列表框选中学生姓名,然后点击删除(Button1)按钮,主要代码实现:

protected void Page_Load(object sender,EventArgs e)

{

If(!IspostBack){

DataClassesDataContext da等于new DataClassesData Context();

Var result等于from s in da.Students

Where s.StuName等于等于DropDownList1.Text

Select s;

da.Students.DeleteAllOnsubmit(result);

da.SubmitChanges();

Binder();

Bind();

}

}

Private void Binder(){

DataClassesDataContext da等于 new DataClassesData Context();

var user等于from s in da.Students

Select s;

GridView1.DataSource等于user;

GridView1.DataBind();

}

Private void Bind(){

DataClassesDataContext da等于 new DataClassesData Context();

var user等于from s in da.Students

Select s.StuName;

DropDownList1.DataSource等于user;

DropDownList1.DataBind();

}