asp.net-N层代码示例

一、数据库Test,
表:

create table Customers
(
 CustId 
int  IDENTITY( 1 , 1 ) primary key,
 CustName varchar(
20 ) not  null ,
 Address varchar(
50 ),
 Linkman varchar(
20 )
)
// insert into Cusomers values('ggg','xuzhou','zhangsan');


 
二、配置文件web.config

<? xml version = " 1.0 " ?>
< configuration >
 
< appSettings />
 
< connectionStrings >
  
< add name = " TestConnectionString "  connectionString = " Data Source=GONGCHL;Initial Catalog=Test;Persist Security Info=True;User ID=sa;Password=123 "  providerName = " System.Data.SqlClient " />
 
</ connectionStrings >
 
< system.web >
  
< compilation debug = " true " />
  
< authentication mode = " Windows " />
 
</ system.web >
</ configuration >
 

三、业务实体

 1 using  System;
 2 using  System.Collections.Generic;
 3 using  System.Text;
 4  
 5 namespace  com.Model
 6 {
 7    /// <summary>
 8    /// 业务实体CustomerInfo
 9    /// </summary>

10    [Serializable]
11    public class CustomerInfo
12    {
13 
14        /// <summary>
15        /// 默认的构造函数
16        /// </summary> 

17        public CustomerInfo()  {}
18 
19        /// <summary>
20        /// 有参数的构造函数
21        /// </summary> 
22        /// <param name="custId">客户号</param>
23        /// <param name="custName">客户名称</param>
24        /// <param name="address">客户地址</param>
25        /// <param name="linkman">联系人</param>

26        public CustomerInfo(int custId, string custName, string address, string linkman)
27       {
28 
29            this.custId = custId;
30            this.custName = custName;
31            this.address = address;
32            this.linkman = linkman;
33        }

34        private int custId;
35        public int CustId
36        {
37            get return custId; }
38            set { custId = value; }
39        }

40 
41        private string custName;
42        public string CustName
43        {
44            get return custName; }
45            set { custName = value; }
46        }

47 
48        private string address;
49        public string Address
50        {
51            get return address; }
52            set { address = value; }
53        }

54 
55        private string linkman;
56        public string Linkman
57        {
58            get return linkman; }
59            set { linkman = value; }
60        }

61    }

62}

63

四、数据访问层
类:SqlHelper(不多写)

 
类:Customer

  1 using  System;
  2 using  System.Data.SqlClient;
  3 using  System.Data;
  4 using  System.Text;
  5 using  System.Collections.Generic;
  6 using  com.Model;
  7  
  8 namespace  com.DataAccess
  9 {
 10    /// <summary>
 11    /// 对客户表的所有数据访问操作
 12    /// </summary>

 13    public class Customer
 14    {
 15 
 16        //静态常量,参数名,T-SQL串
 17        private const string SQL_SELECT_CUSTOMER_BY_ID = 
 18            "SELECT CustId, CustName, Address, Linkman FROM CUSTOMERS WHERE CustID = @CustId";
 19        private const string SQL_SELECT_CUSTOMER_BY_NAME =
 20            "SELECT CustId, CustName, Address, Linkman FROM CUSTOMERS WHERE CustName = @CustName";
 21        private const string SQL_SELECT_CUSTOMER_BY_ALL = 
 22            "SELECT CustId, CustName, Address, Linkman FROM CUSTOMERS";
 23        private const string SQL_UPDATE_CUSTOMER_BY_ID = 
 24            "UPDATE CUSTOMERS SET CustName=@CustName, Address=@Address, Linkman = @Linkman WHERE CustId=@CustId ";
 25        private const string SQL_DELETE_CUSTOMER_BY_ID = 
 26            "DELETE CUSTOMERS WHERE CustId=@CustId ";
 27        private const string SQL_INSERT_CUSTOMER =
 28            "Declare @ID int;INSERT INTO CUSTOMERS VALUES(@CustName, @Address, @Linkman);SELECT @ID = @@IDENTITY; SELECT @ID";
 29        
 30        private const string PARM_CUSTOMERID = "@CustId";
 31        private const string PARM_CUSTOMERNAME = "@CustName";
 32        private const string PARM_ADDRESS = "@Address";
 33        private const string PARM_LINKMAN = "@Linkman";
 34 
 35        /// <summary>
 36        /// 按客户ID查询
 37        /// </summary>
 38        /// <param name="custId">客户号</param>  
 39        /// <returns>客户对象</returns>

 40        public CustomerInfo GetCustomerById(int custId)
 41        {
 42            CustomerInfo customerInfo=null;
 43            SqlParameter parm = new SqlParameter(PARM_CUSTOMERID, SqlDbType.Int);
 44            parm.Value = custId;
 45 
 46            //按客户号参数执行查询得到一个客户信息
 47            using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_CUSTOMER_BY_ID, parm))
 48            {
 49                if (rdr.Read())
 50                    customerInfo = new CustomerInfo(rdr.GetInt32(0), rdr.GetString(1), rdr.GetString(2), rdr.GetString(3));
 51            }

 52            return customerInfo;
 53        }

 54 
 55        /// <summary>
 56        /// 按客户名称查询
 57        /// </summary>
 58        /// <param name="custName">客户名称</param>  
 59        /// <returns>客户对象</returns>

 60        public CustomerInfo GetCustomerByName(string custName)
 61        {
 62            CustomerInfo customerInfo = null;
 63            SqlParameter parm = new SqlParameter(PARM_CUSTOMERNAME, SqlDbType.VarChar,20);
 64            parm.Value = custName;
 65 
 66            //按客户号参数执行查询得到一个客户信息
 67            using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_CUSTOMER_BY_NAME, parm))
 68            {
 69                if (rdr.Read())
 70                    customerInfo = new CustomerInfo(rdr.GetInt32(0), rdr.GetString(1), rdr.GetString(2), rdr.GetString(3));
 71            }

 72            return customerInfo;
 73        }

 74 
 75        /// <summary>
 76        /// 查询所有客户信息
 77        /// 结果为IList
 78        /// </summary>
 79        /// <returns>一个客户集合</returns>

 80        public IList<CustomerInfo> GetCusomersByAll()
 81        {
 82 
 83            IList<CustomerInfo> customers = new List<CustomerInfo>();
 84 
 85            //Finally execute the query
 86            using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_CUSTOMER_BY_ALL, null))
 87            {
 88                while (rdr.Read())
 89                {
 90                    CustomerInfo customerInfo = new CustomerInfo(rdr.GetInt32(0), rdr.GetString(1), rdr.GetString(2), rdr.GetString(3));
 91                    customers.Add(customerInfo);
 92                }

 93            }

 94 
 95            return customers;
 96        }

 97        /// <summary>
 98        /// 插入一个客户信息
 99        /// </summary>
100        /// <param name="customer">客户对象CustomerInfo</param>  
101        /// <returns>bool类型,true or false</returns>

102        public bool InsertCustomer(CustomerInfo customerInfo)
103        {
104            SqlParameter[] paras = new SqlParameter[3];
105            paras[0]=new SqlParameter(PARM_CUSTOMERNAME,SqlDbType.VarChar,20);
106            paras[0].Value=customerInfo.CustName;
107            paras[1]=new SqlParameter(PARM_ADDRESS,SqlDbType.VarChar,50);
108            paras[1].Value=customerInfo.Address;
109            paras[2]=new SqlParameter(PARM_LINKMAN,SqlDbType.VarChar,20);
110            paras[2].Value=customerInfo.Linkman;
111 
112            using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_INSERT_CUSTOMER, paras))
113            {
114                if (rdr.Read())
115                    customerInfo.CustId = rdr.GetInt32(0);
116                else
117                    return false;
118            }

119            return true;
120        }

121 
122        /// <summary>
123        /// 修改一个客户信息
124        /// </summary>
125        /// <param name="customer">客户对象CustomerInfo</param>  
126        /// <returns>bool类型,true or false</returns>

127        public bool UpdateCustomerByID(CustomerInfo customerInfo)
128        {
129            SqlParameter[] paras = new SqlParameter[4];
130            paras[0= new SqlParameter(PARM_CUSTOMERNAME, SqlDbType.VarChar, 20);
131            paras[0].Value = customerInfo.CustName;
132            paras[1= new SqlParameter(PARM_ADDRESS, SqlDbType.VarChar, 50);
133            paras[1].Value = customerInfo.Address;
134            paras[2= new SqlParameter(PARM_LINKMAN, SqlDbType.VarChar, 20);
135            paras[2].Value = customerInfo.Linkman;
136            paras[3= new SqlParameter(PARM_CUSTOMERID, SqlDbType.Int);
137            paras[3].Value = customerInfo.CustId;
138 
139            int row = SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_UPDATE_CUSTOMER_BY_ID, paras);
140            if (row == 0)
141                return false;
142            return true;
143        }

144 
145        /// <summary>
146        /// 按ID删除一个客户信息
147        /// </summary>
148        /// <param name="custId">客户号</param>  
149        /// <returns>bool类型,true or false</returns>

150        public bool DeleteCustomerByID(int custId)
151        {
152            SqlParameter para = new SqlParameter(PARM_CUSTOMERID, SqlDbType.Int);
153            para.Value = custId;
154 
155            int row = SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_DELETE_CUSTOMER_BY_ID, para);
156            if (row == 0)
157                return false;
158            return true;
159        }

160 
161    }

162}

 
五、业务逻辑层

 1 using  System;
 2 using  System.Collections.Generic;
 3 using  System.Text;
 4 using  com.DataAccess;
 5 using  com.Model;
 6 using  com.BusinessRule;
 7  
 8 namespace  com.BusinessLogic
 9 {
10    public class CustomerLogic
11    {
12        /// <summary>
13        /// 插入一个客户信息
14        /// </summary>
15        /// <param name="custId">客户号</param>  
16        /// <param name="custName">客户名称</param>  
17        /// <param name="address">客户地址</param>  
18        /// <param name="linkman">联系人</param>  
19        /// <returns>bool类型,true or false</returns>

20        public bool InsertCustomer(int custId,string custName, string address, string linkman)
21        {
22            if (CustomerRule.IsExistCustomerName(custName))
23                return false;
24            Customer customer = new Customer();
25            CustomerInfo customerInfo = new CustomerInfo(custId,custName,address,linkman);
26            return customer.InsertCustomer(customerInfo);
27        }

28 
29        /// <summary>
30        /// 插入一个客户信息
31        /// </summary>
32        /// <param name="custName">客户名称</param>  
33        /// <param name="address">客户地址</param>  
34        /// <param name="linkman">联系人</param>  
35        /// <returns>bool类型,true or false</returns>

36        public bool InsertCustomer(string custName, string address, string linkman)
37        {
38            if (CustomerRule.IsExistCustomerName(custName))
39                return false;
40            Customer customer = new Customer();
41            CustomerInfo customerInfo = new CustomerInfo(0, custName, address, linkman);
42            return customer.InsertCustomer(customerInfo);
43        }

44 
45        /// <summary>
46        /// 修改一个客户信息
47        /// </summary>
48        /// <param name="custId">客户号</param>  
49        /// <param name="custName">客户名称</param>  
50        /// <param name="address">客户地址</param>  
51        /// <param name="linkman">联系人</param>  
52        /// <returns>bool类型,true or false</returns>

53        public bool UpdateCustomer(int custId,string custName, string address, string linkman)
54        {
55            Customer customer = new Customer();
56            CustomerInfo customerInfo = new CustomerInfo(custId, custName, address, linkman);
57            return customer.UpdateCustomerByID(customerInfo);
58        }

59 
60        /// <summary>
61        /// 按ID删除一个客户信息
62        /// </summary>
63        /// <param name="custId">客户号</param>  
64        /// <returns>bool类型,true or false</returns>

65        public bool DeleteCustomerByID(int custId)
66        {
67            Customer customer = new Customer();
68            return customer.DeleteCustomerByID(custId);
69        }

70 
71 
72        /// <summary>
73        /// 查询所有客户信息
74        /// 结果为IList
75        /// </summary>
76        /// <returns>一个客户集合</returns>

77        public IList<CustomerInfo> GetCustomersByAll()
78        {
79            Customer customer = new Customer();
80            return customer.GetCusomersByAll();
81        }

82    }

83}

84

六、业务规则层

 1 using  System;
 2 using  System.Collections.Generic;
 3 using  System.Text;
 4 using  com.DataAccess;
 5 using  com.Model;
 6  
 7 namespace  com.BusinessRule
 8 {
 9    /// <summary>
10    /// 检查客户信息的合法性
11    /// </summary>

12    public class CustomerRule
13    {
14        /// <summary>
15        /// 检查客户的名称是否已经存在
16        /// </summary>
17        /// <remarks>
18        /// e.g.:  
19        ///  bool exist =CustomerRule.IsExistCustomerName(custName);
20        /// </remarks>
21        /// <param name="custName">客户名称</param>
22        /// <returns>客户存在与否</returns>

23 
24        public static bool IsExistCustomerName(string custName)
25        {
26            Customer cust = new Customer();
27            CustomerInfo custInfo = cust.GetCustomerByName(custName);
28            if (custInfo == null)
29                    return false;
30            else
31                    return true;
32        }

33    }

34}

35

七、业务外观层

 1 using  System;
 2 using  System.Collections.Generic;
 3 using  System.Text;
 4 using  System.Web.UI.WebControls;
 5 using  com.BusinessLogic;
 6 using  com.Model;
 7  
 8 namespace  com.BusinessFacade
 9 {
10    /// <summary>
11    /// 为界面中Table处理数据
12    /// </summary>

13    public class CustomerTable
14    {
15        public static void SetTableData(Table table)
16        {
17            IList<CustomerInfo> list = new CustomerLogic().GetCustomersByAll();
18 
19            AddRowHead(table);
20            foreach (CustomerInfo cust in list)
21            {
22                AddRow(table, cust);
23            }

24        }

25 
26        private static void AddRowHead(Table table)
27        {
28            TableCell cell = new TableCell();
29            cell.Text = "Head";
30            TableRow row = new TableRow();
31            row.Cells.Add(cell);
32            table.Rows.Add(row);
33 
34        }

35        private static void AddRow(Table table, CustomerInfo cust)
36        {
37            TableRow row = new TableRow();
38            TableCell cell1 = new TableCell();
39            cell1.Text = cust.CustId.ToString();
40            TableCell cell2 = new TableCell();
41            cell2.Text = cust.CustName;
42            TableCell cell3 = new TableCell();
43            cell3.Text = cust.Address;
44            TableCell cell4 = new TableCell();
45            cell4.Text = cust.Linkman;
46            row.Cells.Add(cell1);
47            row.Cells.Add(cell2);
48            row.Cells.Add(cell3);
49            row.Cells.Add(cell4);
50 
51            table.Rows.Add(row);
52        }

53    }

54}

55

 
八、界面层

 1 <% @ Page Language = " C# "  AutoEventWireup = " true "   CodeFile = " Default.aspx.cs "  Inherits = " _Default "   %>
 2  
 3 <! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
 4  
 5 < html xmlns = " http://www.w3.org/1999/xhtml "   >
 6 < head runat = " server " >
 7      < title > 无标题页 </ title >
 8 </ head >
 9 < body >
10      < form id = " form1 "  runat = " server " >
11      < div >
12          & nbsp; </ div >
13          < asp:ObjectDataSource ID = " ObjectDataSource1 "  runat = " server "
14             InsertMethod = " InsertCustomer "   SelectMethod = " GetCustomersByAll "  TypeName = " com.BusinessLogic.CustomerLogic "  DeleteMethod = " DeleteCustomerByID "  UpdateMethod = " UpdateCustomer " >
15              < DeleteParameters >
16                  < asp:ControlParameter ControlID = " FormView1 "  PropertyName = " SelectedValue "  Name = " custId "   Type = " Int32 "   />
17              </ DeleteParameters >
18              < UpdateParameters >
19                  < asp:Parameter Name = " custId "  Type = " Int32 "   />
20                  < asp:Parameter Name = " custName "  Type = " String "   />
21                  < asp:Parameter Name = " address "  Type = " String "   />
22                  < asp:Parameter Name = " linkman "  Type = " String "   />
23              </ UpdateParameters >
24              < InsertParameters >
25                  < asp:Parameter Name = " custName "  Type = " String "   />
26                  < asp:Parameter Name = " address "  Type = " String "   />
27                  < asp:Parameter Name = " linkman "  Type = " String "   />
28              </ InsertParameters >
29          </ asp:ObjectDataSource >
30          < asp:FormView ID = " FormView1 "  runat = " server "  DataSourceID = " ObjectDataSource1 "  AllowPaging = " True "  DataKeyNames = " custId " >
31              < EditItemTemplate >
32                 CustName:
33                  < asp:TextBox ID = " CustNameTextBox "  runat = " server "  Text = ' <%# Bind("CustName") %> ' ></ asp:TextBox >< br  />
34                 Address:
35                  < asp:TextBox ID = " AddressTextBox "  runat = " server "  Text = ' <%# Bind("Address") %> ' ></ asp:TextBox >< br  />
36                 Linkman:
37                  < asp:TextBox ID = " LinkmanTextBox "  runat = " server "  Text = ' <%# Bind("Linkman") %> ' ></ asp:TextBox >< br  />
38                 CustId:
39                  < asp:TextBox ID = " CustIdTextBox "  runat = " server "  BorderStyle = " None "  Enabled = " False "
40                     Text = ' <%# Bind("CustId") %> ' ></ asp:TextBox >< br  />
41                  < asp:LinkButton ID = " UpdateButton "  runat = " server "  CausesValidation = " True "  CommandName = " Update "
42                     Text = " 更新 " ></ asp:LinkButton >
43                  < asp:LinkButton ID = " UpdateCancelButton "  runat = " server "  CausesValidation = " False "  CommandName = " Cancel "
44                     Text = " 取消 " ></ asp:LinkButton >
45              </ EditItemTemplate >
46              < InsertItemTemplate >
47                 CustName:
48                  < asp:TextBox ID = " CustNameTextBox "  runat = " server "  Text = ' <%# Bind("CustName") %> ' ></ asp:TextBox >< br  />
49                 Address:
50                  < asp:TextBox ID = " AddressTextBox "  runat = " server "  Text = ' <%# Bind("Address") %> ' ></ asp:TextBox >< br  />
51                 Linkman:
52                  < asp:TextBox ID = " LinkmanTextBox "  runat = " server "  Text = ' <%# Bind("Linkman") %> ' ></ asp:TextBox >< br  />
53                 CustId:
54                  < asp:TextBox ID = " CustIdTextBox "  runat = " server "   Text = ' 0 '  Enabled = " False " ></ asp:TextBox >< br  />
55                  < asp:LinkButton ID = " InsertButton "  runat = " server "  CausesValidation = " True "  CommandName = " Insert "
56                     Text = " 插入 " ></ asp:LinkButton >
57                  < asp:LinkButton ID = " InsertCancelButton "  runat = " server "  CausesValidation = " False "  CommandName = " Cancel "
58                     Text = " 取消 " ></ asp:LinkButton >
59              </ InsertItemTemplate >
60              < ItemTemplate >
61                 CustName:
62                  < asp:Label ID = " CustNameLabel "  runat = " server "  Text = ' <%# Bind("CustName") %> ' ></ asp:Label >< br  />
63                 Address:
64                  < asp:Label ID = " AddressLabel "  runat = " server "  Text = ' <%# Bind("Address") %> ' ></ asp:Label >< br  />
65                 Linkman:
66                  < asp:Label ID = " LinkmanLabel "  runat = " server "  Text = ' <%# Bind("Linkman") %> ' ></ asp:Label >< br  />
67                 CustId:
68                  < asp:Label ID = " CustIdLabel "  runat = " server "  Enabled = " False "  Text = ' <%# Bind("CustId") %> ' ></ asp:Label >< br  />
69                  < asp:LinkButton ID = " EditButton "  runat = " server "  CausesValidation = " False "  CommandName = " Edit "
70                     Text = " 编辑 " ></ asp:LinkButton >
71                  < asp:LinkButton ID = " DeleteButton "  runat = " server "  CausesValidation = " False "  CommandName = " Delete "
72                     Text = " 删除 "   ></ asp:LinkButton >
73                  < asp:LinkButton ID = " NewButton "  runat = " server "  CausesValidation = " False "  CommandName = " New "
74                     Text = " 新建 " ></ asp:LinkButton >
75              </ ItemTemplate >
76          </ asp:FormView >
77          < asp:Table ID = " Table1 "  runat = " server " >
78          </ asp:Table >
79          & nbsp;
80      </ form >
81 </ body >
82 </ html >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值