·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 简单的web三层架构系统【第一版】

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

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

简单的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 DAL12 {13     public class SQLHelper14     {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             try46             {47                 cmd = new SqlCommand(sql, getcon());48 49                 res = cmd.ExecuteNonQuery();50             }51             catch (Exception ex)52             {53                 throw ex;54             }55             finally56             {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             #endregion102 103             if (sq.ExecuteQuery(sql).Rows.Count > 0)//dt.Rows.Count 这个方法是检查返回的虚拟表中是不是有数据,如果有的话则行数不为零。如果没有的话则行数为零。104             {105                 flag = true;106             }107 108             return flag;109         }110     }111 }