三层架构小示例

前言:本人由于刚接触不久,所以有许多借鉴的地方,希望大家多多指教。

对于三层架构,大家首先要理解它的机制,具体的在我的博文里面查看,在此不再阐述。还有要有一定的基础,比较重要的就是最好先研究下JAVA

一、打开VS2008,新建空解决方案,具体如下:

1、文件→新建→项目

2、展开其它项目类型→Visual Studio解决方案→空白解决方案

3、起一个名字,并确定(如下图)

4、在解决方案资源管理器里面右键点击解决方案→添加→新建项目→类库,在名称里输入Model

5、同样的方法,再新建BLL和DAL两个类库

6、在解决方案资源管理器里面右键点击解决方案→添加→新建项目(或者新建网站)→ASP.NET web 应用程序

PS: 小型站点,点“新建网站” ;大一点的,用web应用程序。

       新建网站和新建web应用程序,在编译发布之后会有不同的效果:

       新建网站在编译发布后,bin目录下,会为每个aspx页面生产一个随机命名的.dll文件,默认情况下,添加的cs文件都会放到App_Code目录管理;
       新建web应用程序编译发布会,在bin目录下,只生成当前项目的dll文件.
    建好文件目录已经建好了,如下图。

二、数据库的建立与连接

1.在网站里面的APP_DATA文件夹上面点右键,新建一个数据库文件Database.mdf。然后添加一个表user ,表里面一个字段 name 类型为nvarchar(50)。

2.配置web.config文件:

<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />

</connectionStrings>

三、在Model里面添加user.cs文件及如下代码:

 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace Model
7 {
8 public class user
9 {
10 public user(){}
11 private string _name;
12 public string name
13 {
14 set { _name = value; }
15 get { return _name; }
16 }
17
18 }
19 }

四、在DAL里面添加对Model和system.configuration的引用,然后添加userDB.cs和如下代码:

 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Data;
6 using System.Data.SqlClient;
7 using Model;
8 using System.Configuration;
9 namespace DAL
10 {
11 public class userDB
12 {
13 public bool addUser(Model.user model)
14 {
15 string setting = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
16 SqlConnection myconn=new SqlConnection(setting);
17 myconn.Open();
18 SqlCommand cmd=new SqlCommand("insert into dbo.[user]([name]) values(@name)",myconn);
19 cmd.Parameters.AddWithValue("@name", model.name);
20 if (cmd.ExecuteNonQuery()>0)
21 {
22 return true;
23 }
24 else
25 {
26 return false;
27 }
28 }
29
30 }
31 }

五、在BLL里面添加对MODEL和DAL的引用,然后新建一个userBLL.cs文件和添加如下代码:

 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using DAL;
6
7 namespace BLL
8 {
9 public class userBLL
10 {
11 DAL.userDB db = new userDB();
12 public bool addUser(Model.user model)
13 {
14 return db.addUser(model);
15 }
16 }
17 }

 六、在网站里面的default.aspx里添加一个textbox控件,ID为TB_username,然后添加一个button控件双击按钮,在CS页面输入如下代码:

 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Web;
5 using System.Web.UI;
6 using System.Web.UI.WebControls;
7 using Model;
8 using BLL;
9 namespace WEB
10 {
11 public partial class _Default : System.Web.UI.Page
12 {
13 protected void Page_Load(object sender, EventArgs e)
14 {
15
16 }
17
18 protected void Button1_Click(object sender, EventArgs e)
19 {
20 Model.user thisUser = new user();
21 thisUser.name = TB_username.Text.ToString();
22 BLL.userBLL uB = new userBLL();
23 if (uB.addUser(thisUser))
24 {
25 Response.Write("true");
26 }
27 else
28 {
29 Response.Write("false");
30 }
31 }
32 }
33 }

七、 Ctrl+F5运行default.aspx,然后在文本框里输入值,点击按键,textbox里面的值被添加到数据库里面

PS:

可能遇到的错误:

原因:未添加引用,上述代码已解决。









原文地址:https://www.cnblogs.com/muran/p/2383428.html