使用LINQ实现用户管理模块_第1页
使用LINQ实现用户管理模块_第2页
使用LINQ实现用户管理模块_第3页
使用LINQ实现用户管理模块_第4页
使用LINQ实现用户管理模块_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、13.3  使用LINQ实现用户管理模块本章使用LINQ实现用户管理模块,它包括4个功能:查询用户、添加新用户、修改用户和删除用户,它们分别由SelectUser.aspx、AddUser.aspx、UpdateUser.aspx和DeleteUser.aspx页面实现。13.3.1  数据库实体类设计下面介绍为FirstSQLServerDB数据库创建数据库实体类的方法,即为该数据库创建一个名称为FirstSQLServerDB.dbml的DBML文件。具体步骤如下所述。(1)右击“解决方案资源管理器”面板中的App_Code分支,并选择“添加新项”命令,弹出“添加新项-

2、D:BookCodeASP.NET3.0PrimeSample_13”对话框,如图13.2所示。图13.2 “添加新项-D:BookCodeASP.NET3.0PrimeSample_13”对话框(2)在“名称”文本框中输入“FirstSQLServerDB.dbml”。(3)单击“添加”按钮,关闭“添加新项-D:BookCodeASP.NET3.0PrimeSample_13”对话框,并创建FirstSQLServerDB.dbml文件。(4)打开“服务器资源管理器”面板,并找到指示FirstSQLServerDB数据库的分支。(5)展开该分支至“表”和“存储过程”分支,如图13.3所示。(

3、6)将FirstSQLServerDB数据库的所有表和存储过程直接拖放到FirstSQLServerDB.dbml文件的视图面板中,如图13.4所示。保存该文件即可创建FirstSQLServerDB.dbml文件。       图13.3 “服务器资源管理器”面板              图13.4  FirstSQLServerDB.dbml文件的视图%注意:创建FirstSQLServer

4、DB.dbml文件之后,在“解决方案资源管理器”面板中的App_   Code系统文件中打开其代码设计文件FirstSQLServerDB.designer.cs文件,并添加新的命名空间“Sample_13”。13.3.2  使用LinqDataSource控件访问数据库实体类【实例13-1】 模块中的ShowUser.aspx页面使用LinqDataSource控件访问数据库实体类中的User表,并为GridView控件提供数据。最终,ShowUser.aspx页面显示User表中的记录,具体步骤如下所述。(1)在Visual Studio 2008集成开发环境

5、中,打开名称为“Sample_13”的ASP.NET网站。(2)右击“解决资源方案管理器”面板中的“D:.Samle_13”节点,弹出“添加新项-D:BookCodeASP.NET3.0Primech13Sample_13”对话框。选中“Web 窗体”图标,并在“名称”文本框中输入“ShowUser.aspx”。单击“添加”按钮,可以将ShowUser.aspx页面添加到Sample_13网站。(3)打开SelectUser.aspx页面的“源”视图,并设置该页面的标题为“使用LinqDataSource控件访问数据库实体类”。(4)在ShowUser.aspx页面声明一个名称为gvUser的

6、GridView控件。下面介绍为gvUser控件配置名称为linqDSUser数据源的方法,具体步骤如下所述。   单击gvUser控件的<按钮,显示智能提示菜单,如图13.5所示。   选择“选择数据源”下拉列表框中的“新建数据源”列表项,打开“选择数据源类型”对话框。选择“LINQ”图标,并设置数据源的ID值为linqDSUser,如图13.6所示。   单击“确定”按钮,打开“选择上下文对象”对话框。在其中选择“FirstSQLServer- DBDataContext”列表项,如图13.7所示。  

7、单击“下一步”按钮,打开“配置数据选择”对话框。选择User表的ID、Username、Email和Status列,如图13.8所示。   单击“完成”按钮,即可以配置好linqDSUser数据源。           图13.5  gvUser控件的智能提示                   图

8、13.6 “选择数据源类型”对话框            图13.7 “选择上下文对象”对话框                图13.8 “配置数据选择”对话框综上所述,ShowUser.aspx页面的HTML设计代码如下:<% Page Language="C#" %><head runat="se

9、rver"><title>使用LinqDataSource控件访问数据库实体类</title></head><body><form id="form1" runat="server"><asp:GridView ID="gvUser" runat="server" AutoGenerateColumns="False" DataSourceID="linqDSUser"> 

10、60;  <Columns>        <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True"         SortExpression="ID" />        <asp:BoundField DataField=&

11、quot;Username" HeaderText="Username"         ReadOnly="True" />        <asp:BoundField DataField="Email" HeaderText="Email"         ReadOnly="True"&#

12、160; />        <asp:BoundField DataField="Status" HeaderText="Status"         ReadOnly="True"  />    </Columns></asp:GridView><asp:LinqDataSource ID="linqDSUser&

13、quot; runat="server" ContextTypeName="FirstSQLServerDBDataContext"     Select="new (ID, Username, Email, Status)" TableName="User"></asp:LinqDataSource></form></body>(5)把ShowUser.aspx页面设置为Sample_13网站的起始页面,并运行该网站。在IE浏览器中查看Sho

14、wUser.aspx页面,如图13.9所示。此时,该页面显示User表中的记录。图13.9  ShowUser.aspx页面显示User表中的记录13.3.3  查询用户【实例13-2】 模块中的SelectUser.aspx页面使用LINQ实现查询用户功能。该页面使用Grid- View控件显示LINQ查询表达式的查询结果,具体步骤如下所述。(1)在Visual Studio 2008集成开发环境中,打开名称为Sample_13的ASP.NET网站。(2)右击“解决资源方案管理器”面板中的“D:.Samle_13”节点,弹出“添加新项-D:BookCodeASP.NET3

15、.0Primech13Sample_13”对话框。选中“Web 窗体”图标,并在“名称”文本框中输入“SelectUser.aspx”。单击“添加”按钮,可以将SelectUser.aspx页面添加到Sample_13网站。(3)打开SelectUser.aspx页面的“源”视图,并设置该页面的标题为“查询用户”。(4)向SelectUser.aspx页面添加1个GridView控件,ID属性的值为gvUser。SelectUser.aspx页面的HTML设计代码如下:<% Page Language="C#" AutoEventWireup="true&q

16、uot; CodeFile="SelectUser.aspx.cs" Inherits="SelectUser" %><head runat="server"><title>查询用户</title></head><body>    <form id="form1" runat="server">        <asp:Gr

17、idView ID="gvUser" runat="server"></asp:GridView>    </form></body></html>(5)打开SelectUser.aspx页面的代码隐藏文件,并创建SelectData()函数。该函数从User表中获取数据,具体步骤如下所述。   创建FirstSQLServerDB数据库的上下文对象db。   创建“from u in db.User select u;”LINQ查

18、询表达式查询User表的所有记录,并保存为query变量。   将query设置为gvUser控件的数据源,并绑定控件数据,即在页面上显示User表的记录。综上所述,SelectData()函数的程序代码如下:private void SelectData()   /创建FirstSQLServerDB数据库的上下文对象    Sample_13.FirstSQLServerDBDataContext db = new Sample_13.    FirstSQLServerDBDataCont

19、ext(        ConfigurationManager.ConnectionStrings"FirstSQLServerDBConnec-        tionString".ConnectionString);    /查询User表的数据    var query = from u in db.User select u;    /绑定并显示数据

20、60;   gvUser.DataSource = query;    gvUser.DataBind();(6)把SelectUser.aspx页面设置为Sample_13网站的起始页面,并运行该网站。在IE浏览器中查看SelectUser.aspx页面,如图13.10所示。此时,该页面显示User表中的记录。图13.10  SelectUser.aspx页面显示User表中的记录13.3.4  添加新用户【实例13-3】 模块中的AddUser.aspx页面使用LINQ实现添加新用户的功能,并使用GridView控件显示

21、LINQ查询表达式的查询结果。具体步骤如下所述。(1)在Visual Studio 2008集成开发环境中,打开名称为Sample_13的ASP.NET网站。(2)右击“解决资源方案管理器”面板中的“D:.Samle_13”节点,弹出“添加新项-D:BookCodeASP.NET3.0Primech13Sample_13”对话框。选中“Web 窗体”图标,并在“名称”文本框中输入“AddUser.aspx”。单击“添加”按钮,可以将AddUser.aspx页面添加到Sample_13网站。(3)打开AddUser.aspx页面的“源”视图,并设置该页面的标题为“添加新用户”。(4)向AddUs

22、er.aspx页面添加1个GridView控件和1个Button控件,ID属性的值分别为gvUser和btnCommit。AddUser.aspx页面的HTML设计代码如下:<% Page Language="C#" AutoEventWireup="true" CodeFile="AddUser.aspx.cs" Inherits="AddUser" %><head runat="server"><title>添加新用户</title></

23、head><body>    <form id="form1" runat="server">        <asp:GridView ID="gvUser" runat="server"></asp:GridView>        <asp:Button ID="btnCommit"

24、 runat="server" onclick="btnCommit_Click"            Text="单击一次,添加一个新用户" />    </form></body></html>(5)打开AddUser.aspx页面的代码隐藏文件,并设计btnCommit控件的Click事件:btnCommit_Click(object sender,EventArgs

25、 e)。该事件使用LINQ实现向User表添加新用户的功能,具体步骤如下所述。   创建FirstSQLServerDB数据库的上下文对象db。   创建User类的实例user,并设置该实例的Usernam、Email、Status和Password属性的值。   调用db对象的InsertOnSubmit()方法将user实例插入到User表中。   调用db对象的SubmitChanges()方法将上述修改提交到数据库中。   调用SelectData()方法在gvUser控件中显示Use

26、r表中的记录。综上所述,btnCommit_Click(object sender,EventArgs e)事件的程序代码如下:protected void btnCommit_Click(object sender,EventArgs e)   /创建FirstSQLServerDB数据库的上下文对象    Sample_13.FirstSQLServerDBDataContext db = new Sample_13.    FirstSQLServerDBDataContext(  

27、60;     ConfigurationManager.ConnectionStrings"FirstSQLServerDBConnec-        tionString".ConnectionString);    /创建User类的实例,并设置属性的值    Sample_13.User user = new Sample_13.User();    user.Username = &q

28、uot;User" + DateTime.Now.ToLongTimeString().    Replace(":","");    user.Email = user.Username + ""    user.Status = (byte)0;    user.Password = user.Username;    db.User.InsertOnSubmit(user

29、);   /插入到User表    db.SubmitChanges();             /将修改提交到数据库    SelectData();                    /重新显示数据(6)AddUser.aspx页面使用SelectData()

30、函数在gvUser控件中显示User表中的记录。该函数的具体实现已经在13.3.3节中介绍,在此不再介绍。(7)把AddUser.aspx页面设置为Sample_13网站的起始页面,并运行该网站。在IE浏览器中查看AddUser.aspx页面,如图13.11所示。单击“单击一次,添加一个新用户”按钮向User表插入一条记录。此时,AddUser.aspx页面如图13.12所示。13.3.5  修改用户【实例13-4】 模块中的UpdateUser.aspx页面使用LINQ实现修改用户的功能,并使用GridView控件显示LINQ查询表达式的查询结果。具体步骤如下所述。(1)在Visu

31、al Studio 2008集成开发环境中,打开名称为Sample_13的ASP.NET网站。(2)右击“解决资源方案管理器”面板中的“D:.Samle_13”节点,弹出“添加新项-D:BookCodeASP.NET3.0Primech13Sample_13”对话框。选中“Web 窗体”图标,并在“名称”文本框中输入“UpdateUser.aspx”。单击“添加”按钮,可以将UpdateUser.aspx页面添加到Sample_13网站。       图13.11  显示添加新用户前的User表中的记录  

32、;     图13.12  显示添加新用户后的User表中的记录(3)打开UpdateUser.aspx页面的“源”视图,并设置该页面的标题为“修改用户”。(4)向UpdateUser.aspx页面添加1个GridView控件和1个Button控件,ID属性的值分别为gvUser和btnCommit。UpdateUser.aspx页面的HTML设计代码如下:<% Page Language="C#" AutoEventWireup="true" CodeFile="UpdateUser.a

33、spx.cs" Inherits="UpdateUser" %><head runat="server"><title>修改用户</title></head><body>    <form id="form1" runat="server">        <asp:GridView ID="gvUser" run

34、at="server"></asp:GridView>        <asp:Button ID="btnCommit" runat="server" onclick="btnCommit_Click"            Text="修改ID值等于5的用户" />    </f

35、orm></body></html>(5)打开UpdateUser.aspx页面的代码隐藏文件,并设计btnCommit控件的Click事件btnCommit_Click(object sender,EventArgs e)。该事件使用LINQ实现修改User表中ID值等于5的记录的Username列的值的功能,具体步骤如下所述。   创建FirstSQLServerDB数据库的上下文对象db。   创建“from u in db.User where u.ID = 5 select u;”LINQ查询表达式查询被修改的记录

36、,并保存为query。   使用foreach语句修改query遍历中的记录的Username属性值。   调用db对象的SubmitChanges()方法将上述修改提交到数据库中。   调用SelectData()方法在gvUser控件中显示User表中的记录。综上所述,btnCommit_Click(object sender,EventArgs e)事件的程序代码如下:protected void btnCommit_Click(object sender,EventArgs e)   /创建FirstSQL

37、ServerDB数据库的上下文对象    Sample_13.FirstSQLServerDBDataContext db = new Sample_13.    FirstSQLServerDBDataContext(        ConfigurationManager.ConnectionStrings"FirstSQLServerDBConnec-        tionString".

38、ConnectionString);    /查询被修改的用户    var query = from u in db.User where u.ID = 5 select u;    /修改用户的名称    foreach(var u in query)u.Username = "User" + DateTime.Now.    ToLongTimeString().Replace(":","&

39、quot;);    db.SubmitChanges();           /将修改提交到数据库    SelectData();                  /重新显示数据(6)UpdateUser.aspx页面使用SelectData()函数在gvUse

40、r控件中显示User表中的记录。该函数的具体实现已经在13.3.3小节中介绍,在此不再介绍。(7)把UpdateUser.aspx页面设置为Sample_13网站的起始页面,并运行该网站。在IE浏览器中查看UpdateUser.aspx页面,如图13.13所示。单击“修改ID值等于5的用户”按钮,修改User表中ID值等于5的Username列的值。此时,UpdateUser.aspx页面如图13.14所示。       图13.13  显示修改用户前的User表中的记录     &#

41、160;  图13.14  显示修改用户后的User表中的记录13.3.6  删除用户【实例13-5】 模块中的DeleteUser.aspx页面使用LINQ实现删除用户的功能,并使用GridView控件显示LINQ查询表达式的查询结果。具体步骤如下所述。(1)在Visual Studio 2008集成开发环境中,打开名称为Sample_13的ASP.NET网站。(2)右击“解决资源方案管理器”面板中的“D:.Samle_13”节点,弹出“添加新项-D:BookCodeASP.NET3.0Primech13Sample_13”对话框。选中“Web 窗体”图标,并在

42、“名称”文本框中输入“DeleteUser.aspx”。单击“添加”按钮,可以将DeleteUser.aspx页面添加到Sample_13网站。(3)打开DeleteUser.aspx页面的“源”视图,并设置该页面的标题为“删除用户”。(4)向DeleteUser.aspx页面添加1个GridView控件和1个Button控件,ID属性的值分别为gvUser和btnCommit。DeleteUser.aspx页面的HTML设计代码如下:<% Page Language="C#" AutoEventWireup="true" CodeFile=&qu

43、ot;DeleteUser.aspx.cs" Inherits="DeleteUser" %><head runat="server"><title>删除用户</title></head><body>    <form id="form1" runat="server">        <asp:GridView ID="g

44、vUser" runat="server"></asp:GridView>        <asp:Button ID="btnCommit" runat="server" onclick="btnCommit_Click"            Text="删除ID值大于5的用户" /> 

45、0;  </form></body></html>(5)打开DeleteUser.aspx页面的代码隐藏文件,并设计btnCommit控件的Click事件btnCommit_Click(object sender,EventArgs e)。该事件使用LINQ实现删除User表中ID值大于5的记录的功能,具体步骤如下所述。   创建FirstSQLServerDB数据库的上下文对象db。   创建“from u in db.User where u.ID > 5 select u;”LINQ查询表达式查询被删除的记录,并保存为query。   调用db对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论