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 }
时间: 2024-12-21 15:55:57