您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > web程序设计-实验七实验报告
实验七数据访问一、实验目的(1)掌握VisualStudio2008中管理数据库的方法。(2)掌握数据源控件的使用。(3)掌握LINQ表达式的使用。(4)掌握利用LINQtoSQL和LINQtoXML进行数据访问管理的方法。二、实验内容及要求1.利用SqlDataSource和LINQtoSQL进行SQLServerExpress2005的数据管理三、实验步骤(1)新建网站。新建一个网站,添加Web窗体DataManage.aspx、Web窗体SqlDSFuzzyQuery.aspx、Web窗体SqlDSInsert.aspx、Web窗体SqlDSEdit.aspx、Web窗体LinqEdit.aspx。(2)设计DataManage.aspx。(3)编写DataManage.aspx事件代码。按钮btnQueryAll被单击时执行的事件代码如下:protectedvoidbtnQueryAll_Click(objectsender,EvenArgse){gvCategory.DataSourceID=”sdsCategory”;gvCategory.DataBind();}按钮btnFuzzy被单击时执行的事件代码如下:protectedvoidbtnFuzzy_Click(objectsender,EventArgse){Response.Redirect(sqldsfuzzyquery.aspx);}按钮btnInsert被单击时执行的事件代码如下:protectedvoidbtnInsert_Click(objectsender,EventArgse){Response.Redirect(sqldsinsert.aspx);}按钮btnEdit被单击时执行的事件代码如下:protectedvoidbtnEdit_Click(objectsender,EventArgse){Response.Redirect(sqldsedit.aspx?CategoryId=+txtCategoryId.Text);}按钮btnEditLinq被单击时执行的事件代码如下:protectedvoidbtnEditLinq_Click(objectsender,EventArgse){Response.Redirect(linqedit.aspx?CategoryId=+txtCategoryId.Text);}按钮btnDelete被单击时执行的事件代码如下:protectedvoidbtnDelete_Click(objectsender,EventArgse){sdsCategory.Delete();}(4)设计SqlDSFuzzyQuery.aspx。(5)编写SqlDSFuzzyQuery.aspx事件代码。按钮btnSearch被单击后,引起页面往返,此时将执行sdsCategory中设置的Select命令后再触发的Selected事件代码如下:ProtectedvoidsdsCategory_Selected(objectsender,SqlDataSourceStatusEventArgse){if(e.AffectedRows==0){lb1Msg.Text=没有满足条件的数据!;}else{lb1Msg.Text=;}}按钮btnReturn被单击时执行的事件代码如下:protectedvoidbtnReturn_Click(objectsender,EventArgse){Response.Redirect(datamanage.aspx);}(6)设计SqlDSInsert.aspx。(7)编写SqlDSInsert.aspx事件代码。按钮btnInsert被单击时执行的事件代码如下:protectedvoidbtnInsert_Click(objectsender,EventArgse){sdsCategory.Insert();}按钮btnReturn被单击时执行的事件代码如下:protectedvoidbtnReturn_Click(objectsender,EventArgse){Response.Redirect(datamanage.aspx);}(8)设计SqlDSEdit.aspx。(9)编写SqlDSEdit.aspx事件代码。Web窗体首次载入时执行的代码如下:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){DataViewdv=(DataView)sdsCategory.Select(newDataSourceSelectArguments());DataTabledt=dv.ToTable();txtCategoryId.Text=dt.Rows[0][Category].ToString();txtName.Text=dt.Rows[0][Name].ToString();txtDescn.Text=dt.Rows[0][Descn].ToString();}按钮btnUpdate被单击时执行的事件代码如下:protectedvoidbtnUpdate_Click(objectsender,EventArgse){sdsCategory.Update();}按钮btnReturn被单击时执行的事件代码如下:protectedvoidbtnReturn_Click(objectsender,EventArgse){Response.Redirect(datamanage.aspx);}(10)设计LinqEdit.aspx。(11)添加MyPetShop.dbml。在APP_Code文件夹中添加一个“LINQtoSQL类”MyPetShop.dbml,再从“服务器资源管理器”窗口将MyPetShop的各个表拖动到“对象关系设计器”窗口,然后,VisualStudio2008将自动生成相应的数据类。(12)编写LinqEdit.aspx事件代码。在所有事件代码外声明MyPetShopDataContext对象db,使得该对象可在多个事件代码中使用,代码如下:MyPetShopDataContextdb=newMyPetShopDataContext();Web窗体首次载入时执行的代码如下:protectedvoidPage_Load(objectsender,EventArgse){If(!IsPostBack){Varcategories=fromcindb.CategoryWherec.CategoryId==int.Parse(Request.QueryString[“CategoryID”])Selectc;if(categories!=null){Foreach(Category!=null){Foreach(Categorycategoryincategories){txtCategoryId.Text=category.CategoryId.ToString();txtName.Text=category.Name;txtDescn.Text=category.Descn;}}}}按钮btnUpdate被单击时执行的事件代码如下:ProtectedvoidbtnUpdate_Click(objectsender,EventArgse){Varcategories=fromcindb.CategoryWherec.CategoryId==int.Parse(txtCategoryId.Text)Selectc;If(categories!=null){Foreach(Categorycategoryincategories){Category.Name=txtName.Text;Category.Descn=txtDescn.Text;}Db.SubmitChanges();}}按钮btnReturn被单击时执行的事件代码如下:protectedvoidbtnReturn_Click(objectsender,EventArgse){Response.Redirect(datamanage.aspx);}(13)从浏览DataManage.aspx开始对数据管理网站进行测试。三、实验结果图1SQL数据管理导航页浏览效果图2“模糊查找”效果(1)图3“模糊查找”效果(2)图4“模糊查找”效果(3)图5SQL“插入”效果图6“修改”效果
本文标题:web程序设计-实验七实验报告
链接地址:https://www.777doc.com/doc-5220609 .html