zoukankan      html  css  js  c++  java
  • 简单的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 }

     

  • 相关阅读:
    面试:div水平垂直居中方案--img自适应
    面试:call、apply、bind原理以及自己手写简易模式
    面试之:判断js类型的方式总结
    git的项目完整操作
    vue3.x版本新建项目相关知识和注意事项
    面试常问平时项目中【Date】的常用操作方法总结
    面试常问平时项目中【Math】的常用操作方法总结
    面试常问平时项目中数组【Array】的常用操作方法总结
    面试常问平时用的对象【Object】的创建方式和常用的对象方法总结
    优化无限列表性能vue-virtual-scroll-list【测试90w条数据】
  • 原文地址:https://www.cnblogs.com/KTblog/p/4189407.html
Copyright © 2011-2022 走看看