三层架构实例
一、新建立一个三层架构体系结构解决方案
原文://http://blog.csdn.net/xjc1278003262/article/details/8867177
新建一个空白解决方案。然后:
1.“添加”-“新建项目”-“Visual C#”-“类库”-“称:LoginBLL”-“业务逻辑”(业务层,下简称B层)如下图:

2.“添加”-“新建项目”-“Visual C#”-“类库”-“名称:LoginDAL”-“数据访问”(数据层,下简称D层)如下图:

3.“添加”-“新建项目”-“Visual C#”-“类库”-“名称:LoginUI”(界面层,下简称U层)如下图:

U层的界面效果图:如下图

4. “添加”-“新建项目”-“Visual C#”-“类库”-“名称:LoginModel”(以下实体层)如下图:

三层建立后的效果图,如下图:

二、引用(关键步骤)
右键点“解决方案”-“添加引用”,设置U依引用D、B,B引用于D。对U添加引用D、B,对B添加引用D。如下图:
引用步骤一:

引用步骤二:

到此为止,一个登录的三层架构的建立起来了。
三、各层实现代码如下
B层代码
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Login.BLL;
- using Login.DAL;
- using Login.Model;
- namespace Login.BLL
- {
- public class LoginManager
- {
- public UserInfo UserLogin(string userName, string password)
- {
-
- UserDAO uDao = new UserDAO();
- UserInfo user = uDao.SelectUser(userName, password);
- if (user == null)
- {
- throw new Exception("登陆失败");
- }
- else
- {
- return user;
- }
-
-
- }
- }
- }
D层代码
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Login.Model;
- using System.Data.SqlClient;
- using System.Data;
-
- namespace Login.DAL
- {
- public class UserDAO
- {
-
- public static string ConnString = @"Server=XJC-PC; Database=chargeStudent; User ID=sa; Password=123456";
-
- public UserInfo SelectUser(string userName, string password)
-
- {
-
- using (SqlConnection conn = new SqlConnection(ConnString))
- {
- SqlCommand cmd = conn.CreateCommand();
- cmd.CommandText = @"select * from user_Info where user_Name=@userName AND user_PWD=@password";
- cmd.CommandType = CommandType.Text;
- cmd.Parameters.Add(new SqlParameter("@userName", userName));
- cmd.Parameters.Add(new SqlParameter("@password", password));
- conn.Open();
- SqlDataReader reader = cmd.ExecuteReader();
- UserInfo user = new UserInfo();
- while (reader.Read())
- {
-
- user.userName = reader.GetString(0);
- user.password = reader.GetString(1);
-
- }
- return user;
- }
-
- }
-
- }
- }
U层代码
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Data.SqlClient;
- using Login.BLL;
- using Login.Model;
- namespace LoginUI
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
-
- private void btnLogin_Click(object sender, EventArgs e)
- {
- LoginManager mgr = new LoginManager();
- string userName = txtUserName.Text.Trim();
- string Password = txtPassword.Text;
- UserInfo user = mgr.UserLogin(userName, Password);
- MessageBox.Show("登陆用户:" + userName);
- }
- }
- }
实体层代码
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
-
- namespace Login.Model
- {
- public class UserInfo
- {
- public string userName;
- public string UserName
- {
- get { return userName; }
- set { userName = value; }
- }
- public string password;
- public string PassWord
- {
- get { return password; }
- set { password = value; }
- }
- }
- }
四、运行成功的结果图:如下图

以上是我对“三层实例”的真是实现,如有不妥之处,还请指教。
三层架构实例
原文:http://www.cnblogs.com/dingfangbo/p/5769526.html