简单的web三层架构系统【第一版】

 

SQLhelper助手类编写:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 using System.Data;
 8 using System.Data.SqlClient;
 9 using System.Configuration;
10 
11 namespace DAL
12 {
13     public class SQLHelper
14     {
15         SqlCommand cmd = null;
16 
17         public string strcon()
18         {
19             string strcon = ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;
20 
21             return strcon;
22         }
23 
24         public SqlConnection getcon()
25         {
26             SqlConnection con = new SqlConnection(strcon());
27 
28             if (con.State == ConnectionState.Closed)
29             {
30                 con.Open();
31             }
32 
33             return con;
34         }
35 
36         /// <summary>
37         /// 执行增删改查的SQL语句
38         /// </summary>
39         /// <param name="sql">要执行的SQL</param>
40         /// <returns>返回执行SQL语句后影响的行数</returns>
41         public int ExecuteNonQuery(string sql)
42         {
43             int res;
44 
45             try
46             {
47                 cmd = new SqlCommand(sql, getcon());
48 
49                 res = cmd.ExecuteNonQuery();
50             }
51             catch (Exception ex)
52             {
53                 throw ex;
54             }
55             finally
56             {
57                 if (getcon().State == ConnectionState.Open)
58                 {
59                     getcon().Close();
60                 }
61             }
62 
63             return res;
64         }
65 
66         /// <summary>
67         /// 执行传入的SQL查询语句
68         /// </summary>
69         /// <param name="sql">要执行的查询SQL</param>
70         /// <returns>返回查询SQL语句的数据集</returns>
71         public DataTable ExecuteQuery(string sql)
72         {
73             DataTable dt = new DataTable();
74 
75             SqlConnection con = new SqlConnection(strcon());
76 
77             //创建一个SqlCommand对象cmd,让其连接数据库,并指向sql语句。
78             cmd = new SqlCommand(sql, getcon());
79 
80             //执行cmd连接的数据库.使用using后在执行完毕后,直接关闭sdr。不需要写sdr.closed.
81             using (SqlDataReader sdr = cmd.ExecuteReader())
82             {
83                 dt.Load(sdr);// Load 适合于SqlDataReader。如果是SqlDataAdapter,则要用到 Fill 方法。
84             }
85 
86             getcon().Close();
87 
88             return dt;
89         }
90     }
91 }

 

personDAO员工操作类编写:

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Threading.Tasks;
  6 
  7 using System.Data;
  8 using System.Data.SqlClient;
  9 
 10 namespace DAL
 11 {
 12     public class personDAO
 13     {
 14         SQLHelper sq = null;
 15 
 16         public personDAO()
 17         {
 18             sq = new SQLHelper();
 19         }
 20 
 21         /// <summary>
 22         /// 增加员工信息
 23         /// </summary>
 24         /// <param name="name">要添加的员工姓名</param>
 25         /// <param name="sex">要添加的员工性别</param>
 26         /// <param name="salary">要添加的员工工资</param>
 27         /// <returns>返回真假值:如果是真显示添加成功,如果是假显示添加失败</returns>
 28         public bool insert(string name, string sex, string salary)
 29         {
 30             bool flag = false;
 31 
 32             string sql = "insert into person ([name], sex, salary) values (‘"+name+"‘, ‘"+sex+"‘, ‘"+salary+"‘)";
 33 
 34             if (sq.ExecuteNonQuery(sql) > 0)
 35             {
 36                 flag = true;
 37             }
 38 
 39             return flag;
 40         }
 41 
 42         /// <summary>
 43         /// 删除员工信息
 44         /// </summary>
 45         /// <param name="id">要删除员工的id</param>
 46         /// <returns>返回真假值:如果是真显示删除成功,如果是假显示删除失败</returns>
 47         public bool delete(string id)
 48         {
 49             bool flag = false;
 50 
 51             string sql = "delete from person where id = ‘" +id+ "‘";
 52 
 53             if (sq.ExecuteNonQuery(sql) > 0)
 54             {
 55                 flag = true;
 56             }
 57 
 58             return flag;
 59         }
 60 
 61         /// <summary>
 62         /// 更改员工信息
 63         /// </summary>
 64         /// <param name="id">要更改的员工编号</param>
 65         /// <param name="name">要更改的员工姓名</param>
 66         /// <param name="sex">要更改的员工性别</param>
 67         /// <param name="salary">要更改的员工工资</param>
 68         /// <returns>返回真假值:如果是真显示更改成功,如果是假显示更改失败</returns>
 69         public bool update(string id, string name, string sex, string salary)
 70         {
 71             bool flag = false;
 72 
 73             string sql ="update person set [name] = ‘"+name+"‘, sex = ‘"+sex+"‘, salary = ‘"+salary+"‘ where id = ‘"+id+"‘";
 74 
 75             if (sq.ExecuteNonQuery(sql) > 0)
 76             {
 77                 flag = true;
 78             }
 79 
 80             return flag;
 81         }
 82 
 83         /// <summary>
 84         /// 判断员工姓名是否重复
 85         /// </summary>
 86         /// <param name="name">要进行判断的员工姓名</param>
 87         /// <returns>返回真假值:如果是真代表重复,如果是假进行添加</returns>
 88         public bool repeat(string name)
 89         {
 90             bool flag = false;
 91 
 92             string sql = "select * from person where [name] = ‘" +name+ "‘";
 93 
 94             #region 这样写的话,还要重新建立一张虚拟表,如果直接用下面的方法,进行行数的判断就不需要建立。
 95             //DataTable dt = sq.ExecuteQuery(sql);
 96 
 97             //if (dt.Rows.Count > 0)//dt.Rows.Count 这个方法是检查返回的虚拟表中是不是有数据,如果有的话则行数不为零。如果没有的话则行数为零。
 98             //{
 99             //    flag = true;
100             //}
101             #endregion
102 
103             if (sq.ExecuteQuery(sql).Rows.Count > 0)//dt.Rows.Count 这个方法是检查返回的虚拟表中是不是有数据,如果有的话则行数不为零。如果没有的话则行数为零。
104             {
105                 flag = true;
106             }
107 
108             return flag;
109         }
110     }
111 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。