在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
"增删查改"来一遍 有前面的基础,本节将对“增删查改”操作一遍,这样既方便大家熟悉三层架构的流程脉络,也对新手起到巩固的效果。 与数据库相关的软件开发,无外乎是对数据的增删查改,在此,在之前的例子上实现这些操作。 增加Insert 我们在数据库的存储过程,已经有了自己的SQL增加语句。本例是在if @type=’ Insert_User’下。 1.在前台代码加入两个Lable、两个TextBox和一个Button控件。 2.添加Button点击(Click)事件,事件简单的理解就是你执行的操作希望执行什么样的代码。点中Button控件,查看它的属性,在“事件”目录下,双击“Click”右边空白,即可生成事件。 双击后,会自行跳转到后台代码,在后台代码中,多出了一段代码,即是事件处理函数(点击Button按钮所要发生的事情在函数体内执行,当然服务器控件点击事件就不单单只是执行函数体内的内容了)。 3.我们既然要将新增的数据插入数据库,首先必须要获取两个TextBox中的文本。编写获取TextBox文本的语句,并将其赋值给两个变量。 string userName = this.TextBox1.Text.ToString().Trim();//获取新增名称 string age = this.TextBox2.Text.ToString().Trim();//获取新增年龄
4.有数据了,我们需要将数据传回数据库,此时我们要和BLL层打交道了。首先在BLL_Index中添加如下代码。 1 /// <summary> 2 /// 增加 3 /// </summary> 4 /// <param name="userName"></param> 5 /// <param name="age"></param> 6 public static void Insert_User(string userName, string age) 7 { 8 SqlParameter[] SQLCMDpas ={ 9 new SqlParameter("@type",SqlDbType.Char), 10 new SqlParameter("@UserName",SqlDbType.Char), 11 new SqlParameter("@Age",SqlDbType.Int), 12 }; 13 SQLCMDpas[0].Value = "Insert_User"; 14 SQLCMDpas[1].Value = userName; 15 SQLCMDpas[2].Value = age; 16 DAL.PublicMethod.DAL_OPTableDB_Par("Index", SQLCMDpas); 17 }
可发现,增加的方法与查询的方法略有不同。 返回值不再是DataTable,因为Insert操作不需要返回值;函数有了参数,注意对于相关参数的编写和含义,有必要可回顾一下之前的讲述;调用DAL中的方法改成了DAL_OPTableDB_Par。 BLL层的代码编写完毕,回到aspx的后台代码,此时我们要将TextBox获取到的值传递到BLL层,调用BLL的方法执行插入数据的操作。 增加操作完毕,点击“F5”启动调试。输入数据 点击“增加”,如无意外,增加成功。停止调试,重新点击“F5”重新启动调试,即可看到 当然该例子实现了增加的操作,但应该是增加成功后自行刷新页面显示新数据,但本例的目的是实现增加数据的操作,有兴趣的可以试试,增加数据成功后,自行刷新重新查询显示数据。 修改Update 在进入修改操作讲述时,增加操作时,没有及时刷新数据,可以将Page_Load中的查询数据写成一个方法独立出来,这样在再调用方法,起到刷新的效果。 修改操作和增加操作大同小异,前台添加三个Label、三个TextBox和一个Button,目的:填写用户Id(必须存在哦),然后填写修改的名称和年龄,点击“修改”,实现修改操作。 添加修改操作点击事件,获取修改内容。 BLL添加方法,修改和增加操作区别不大。 1 /// <summary> 2 /// 修改 3 /// </summary> 4 /// <param name="userId">用户Id</param> 5 /// <param name="userName">名称</param> 6 /// <param name="age">年龄</param> 7 public static void Update_User(string userId,string userName, string age) 8 { 9 SqlParameter[] SQLCMDpas ={ 10 new SqlParameter("@type",SqlDbType.Char), 11 new SqlParameter("@UserId",SqlDbType.Int), 12 new SqlParameter("@UserName",SqlDbType.Char), 13 new SqlParameter("@Age",SqlDbType.Int), 14 }; 15 SQLCMDpas[0].Value = "Update_User"; 16 SQLCMDpas[1].Value = userId; 17 SQLCMDpas[2].Value = userName; 18 SQLCMDpas[3].Value = age; 19 DAL.PublicMethod.DAL_OPTableDB_Par("Index", SQLCMDpas); 20 }
回到aspx页面后台代码,添加对BLL层方法的调用。 1 /// <summary> 2 /// 修改操作点击事件 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 protected void Button2_Click(object sender, EventArgs e) 7 { 8 string userId = this.TextBox3.Text.ToString().Trim();//获取修改userId 9 string userName = this.TextBox4.Text.ToString().Trim();//获取修改的名称 10 string age = this.TextBox5.Text.ToString().Trim();//获取修改的年龄 11 BLL.BLL_Index.Update_User(userId, userName, age);//调用BLL层修改的方法 12 Binding();//刷新页面数据 13 }
修改操作完毕,点击“F5”启动调试。输入数据,如图 点击“修改”按钮,如无意外,修改成功。 删除Delete 还是和前面一样,在前台页面添加一个Label、一个TextBox和一个Button,如图 添加“删除”按钮点击事件,并获取TextBox获取的用户Id赋值变量。 BLL添加方法 1 /// <summary> 2 /// 删除 3 /// </summary> 4 /// <param name="userId">用户Id</param> 5 public static void Delete_User(string userId) 6 { 7 SqlParameter[] SQLCMDpas ={ 8 new SqlParameter("@type",SqlDbType.Char), 9 new SqlParameter("@UserId",SqlDbType.Int), 10 }; 11 SQLCMDpas[0].Value = "Delete_User"; 12 SQLCMDpas[1].Value = userId; 13 DAL.PublicMethod.DAL_OPTableDB_Par("Index", SQLCMDpas); 14 }
回到后台添加BLL方法调用 1 /// <summary> 2 /// 删除操作点击事件 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 protected void Button3_Click(object sender, EventArgs e) 7 { 8 string useId = this.TextBox6.Text.ToString().Trim();//获取删除userId 9 BLL.BLL_Index.Delete_User(useId);//调用BLL层删除的方法 10 Binding();//刷新页面数据 11 }
删除操作完毕,点击“F5”启动调试。 输入需要删除的用户Id,点击“删除”按钮,如无意外,删除成功。 至此,对数据的基本操作(增删查改)都实现了,对数据的操作,都离不开这些,当然对数据的操作形式是千变万化的,如何处理一些复杂的操作,那需要时间的积累,在不同需求下有不同的操作,在不断积累下进步,We live and learn。 上一讲:ASP.NET简易教程5——三层架构与非三层架构的优缺点比较 本教程希望引导式学习的方式传授知识,引导新手自主学习,养成自学的能力。
鉴于个人能力有限,如果发现错漏地方,欢迎指点。 著作权声明:本文由http://www.cnblogs.com/suguoqiang 原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢! |
请发表评论