三层架构实例——通讯录
来源:互联网 发布:curl post json body 编辑:程序博客网 时间:2024/06/07 02:11
从三层理论知识的学习到实例操练,已经将近半个月的时间了,现在终于暂时告一段落了。开始跟步练习登录实例的时候,还是有很多的疑问,多亏了我们可爱的王丹(大)同学,听了她的讲解后,感觉顿时明白了许多,也从开始的传参的形式改为使用实体,应用起来确实简单了很多,还甚至实现了自己的小例子——通讯录。下面就跟大家分享一下我的成果吧。
1 界面概览
1.1 主窗体
下图所示为通讯录的主界面,可以看到增删改查的功能它可是样样都有呦。
1.2 修改窗体
1.3 显示全部窗体
1.4 小技巧
对于界面的设置这里就不过多介绍了,有两点值得注意:
1, 大家看到“增加(A)”了吗?有什么疑问么?是的,这就是我们常见的快捷键,在修改按钮的“text”属性值的时候设置为“增加(&A)”就可以响应快捷键“Alt+A”了,其他几个同理。
更多信息请访问http://www.cnblogs.com/junjie94wan/archive/2011/08/11/2135255.html
2.设置默认按钮。我们都知道VB中只要将窗体的”Default”属性设置为相应得按钮就可以响应回车键了,C#与VB有点类似,将窗体的“AcceptButton”属性设置为相应的按钮就可以默认响应回车键了,相应的“CancelButton”响应的是Esc键。
更多信息请访问http://www.cnblogs.com/jason-liu-blogs/archive/2012/09/18/2691195.html
好了,接下来就赶快看一下功能的实现吧。
2 代码实现
2.1 解决方案概览
设计完,U层、B层、D层以及实体层的内容见下图:
2.2 代码概览
由于本实例涵盖了全部基本功能:增删改查,代码量过大。而增、删、改都会用到查询功能,那么在这里就简单介绍一下查询的功能吧。完整的程序代码已经打包上传到了CSDN上,如果您有兴趣的话,欢迎下载:http://download.csdn.net/detail/u010773667/7144477
对于查询功能,首先要判断是否有需要查询的好友,该好友是否存在,如果存在返回全部信息,如果不存在,给出提示。
U层
//****************************查询好友********************* private void button1_Click(object sender, EventArgs e) { if (txtUserName.Text == "") { MessageBox.Show("请输入要查询的姓名!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } UserInfo user = new UserInfo(); user.userName = txtUserName.Text.Trim(); Contacts.BLL.bContactsManage selectUser = new Contacts.BLL.bContactsManage(); user = selectUser.SelectContacts(user); txtPhoneNume.Text = user.phoneNum; if (txtPhoneNume.Text == "") { MessageBox.Show("该好友不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); txtUserName.Select(); txtUserName.Focus(); } }
****************************************************************************************************************************************************************************************************
B层
//***********查询好友*************** public UserInfo SelectContacts(UserInfo user) { UserInfo enUser = new UserInfo(); Contacts.DAL.SelectUserDAO selectUser = new SelectUserDAO(); enUser = selectUser.SelectUser(user); return enUser; }
****************************************************************************************************************************************************************************************************
D层
namespace Contacts.DAL{ public class SelectUserDAO { //*******查询好友信息***************** public UserInfo SelectUser(UserInfo user) { UserInfo enUser = new UserInfo(); using (SqlConnection conn = new SqlConnection(DBUtil.ConnString)) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "Select userName ,phoneNum from T_Users where userName=@UserName"; cmd.CommandType = CommandType.Text; cmd.Parameters.Add(new SqlParameter("@UserName", user.userName)); conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { enUser.phoneNum = reader["PhoneNum"].ToString(); enUser.userName = reader["UserName"].ToString(); } return enUser; } } }}
****************************************************************************************************************************************************************************************************
实体层
namespace Contacts.Model{ public class UserInfo { private string UserName; private string PhoneNum; //private string Address; public string userName { get { return UserName; } set { UserName = value; } } public string phoneNum { get { return PhoneNum; } set { PhoneNum = value; } } }}
3 运行效果
3.1 没有要查询的好友
3.2 查询的好友不存在
3.3 查询的好友存在
- 三层架构实例——通讯录
- 三层架构实例——通讯录
- 三层架构实例—用户登录窗体
- 三层架构实例—用户登录窗体
- vb.Net三层架构实例——登录
- 三层架构实战篇—系统登录实例
- 三层架构实战篇—系统登录实例【好】
- 三层架构实战篇—系统登录实例
- 三层架构实战篇—系统登录实例
- 三层架构实战篇—系统登录实例
- 三层架构—实践篇(.Net登录实例)
- 三层架构实战篇—系统登录实例
- 三层架构实战篇—系统登录实例
- 三层架构—简析
- 三层网络架构实例
- 三层架构小实例
- 三层架构实例
- 三层架构实例
- 机器学习(三) KNN
- 一步步学习数据结构和算法之快速排序效率分析及java实现
- java窗口监听器的简单例子
- SpringAOP在项目中的简单应用
- xp 万能注册
- 三层架构实例——通讯录
- samba服务器搭建
- 一步步学习数据结构和算法之冒泡排序效率分析及java实现
- 周日来上班就是个错误
- 结构体内存分配问题(转)
- STM32 FLASH模拟 EEPROM
- 树莓派学习笔记——实现modbus RTU从机
- linux网络编程十五:I/O复用的应用-非阻塞connect
- 单例 -- dispatch_once优化代码性能