SqlHelper 带详细中文注释

  1 using System;  

  2 using System.Collections.Generic;  

  3 using System.Linq;  

  4 using System.Text;  

  5 //对数据库进行操作引入命名空间  

  6 using System.Data;  

  7 using System.Data.SqlClient;  

  8 using System.Configuration;  

  9   

 10   

 11 namespace DAL  

 12 {  

 13     public class SQLhelper  

 14     {  

 15   

 16   

 17         /// 变量定义<summary>  

 18         /// </summary>  

 19         private SqlConnection conn = null;  

 20         private SqlCommand cmd = null;      

 21         private SqlDataReader sdr = null;   

 22   

 23         /// SQLhelper connStr 字符串的连接<summary>  

 24         /// </summary>  

 25          04  011  

 26         public SQLhelper()  

 27         {  

 28             string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;  //连接SQL数据表

 29             conn = new SqlConnection(connStr);   //连接通道

 30   

 31         }  

 32   

 33   

 34   

 35         /// 获取conn<summary>  

 36         /// </summary>  

 37         /// <returns>为什么要这样写有什么意义呢?</returns>  

 38         private SqlConnection GetConn()  

 39         {  

 40             if (conn.State == ConnectionState.Closed)  //-判断当前连接的状态  如果当前的连接是关闭状态的话  结果为True 

 41             {  

 42                 conn.Open();   //-打开数据库

 43             }  

 44   

 45             return conn;    //返回结果

 46         }  

 47   

 48   

 49   

 50   

 51         /// 该方法传入一个增删改SQL语句或是存储过程<summary>  

 52         /// </summary>  

 53         /// <param name="sql">要执行的增删改SQL语句或是存储过程</param>  

 54         /// <returns>返回更新的记录数</returns>  

 55         public int ExecuteNonQuery(string cmdText,CommandType ct)  

 56         {  

 57             //-执行非查询 比如说 insert  Updata  Delect 

 58             //不定义的时候返回的初值是零  

 59             int res;  

 60             try  

 61             {  

 62                 //-1、将预见可能引发异常的代码包含在try语句块中。  

 63                 //-2、如果发生了异常,则转入catch的执行。

 64                 cmd = new SqlCommand(cmdText, GetConn());  

 65 

 66                 cmd.CommandType = ct;  

 67                 res = cmd.ExecuteNonQuery();  

 68             }  

 69             catch (Exception ex)  

 70             {  

 71                   //-这将捕获任何发生的异常。另外,还提供e参数,你可以在处理异常时使用e参数来获得有关异常的信息。

 72                 throw ex;  

 73             }  

 74             finally  

 75             {  

 76                 //-不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally 

 77                 //-清理工作。如关闭数据库连接。

 78                 if (conn.State == ConnectionState.Open)  

 79                 {  

 80                     conn.Close();  

 81                 }  

 82   

 83             }  

 84             return res;    //-返回给调用者

 85         }  

 86   

 87  

 88         /// 执行带参数的增删改语句或是存储过程<summary>  

 89         /// 执行带参数的增删改语句或是存储过程  

 90         /// </summary>  

 91         /// <param name="sql">带参数的SQL语句或是存储过程</param>  

 92         /// <param name="paras">参数集合</param>  

 93         /// <returns></returns>  

 94   

 95         public int ExecuteNonQuery(string cmdText, SqlParameter[] paras,CommandType ct)  

 96         {  

 97             int res;  

 98             using (cmd = new SqlCommand(cmdText, GetConn()))  

 99             {  

100                 cmd.CommandType = ct;  

101                 cmd.Parameters.AddRange(paras);   //将每个查询出的数 添加到数组

102 

103                 res = cmd.ExecuteNonQuery();  

104             }  

105 

106             return res;  

107   

108         }  

109   

110   

111         /// 该方法传入一个查询SQL语句或是存储过程<summary>  

112         /// 该方法传入一个查询SQL语句或是存储过程  

113         /// </summary>  

114         /// <param name="cmtText">SQL查询语句或存储过程</param>  

115         /// <returns></returns>  

116         public DataTable ExecuteQuery(string cmtText,CommandType ct)  

117         {  

118             DataTable dt = new DataTable();  

119             cmd = new SqlCommand(cmtText, GetConn());  

120             cmd.CommandType = ct;  

121             //关系sdr的同是将会关闭conn  

122             using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))  

123             {  

124                 dt.Load(sdr);  

125             }  

126             return dt;  

127         }  

128   

129   

130         /// 执行带参数的SQL语句或是存储过程<summary>  

131         /// 执行带参数的SQL语句或是存储过程  

132         /// </summary>  

133         /// <param name="cmdText">SQL语句或是存储过程</param>  

134         /// <param name="paras"></param>  

135         /// <returns></returns>  

136         public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras,CommandType ct)  

137         {  

138             DataTable dt = new DataTable();  

139 

140             cmd = new SqlCommand(cmdText, GetConn());  

141             cmd.CommandType = ct;  

142             cmd.Parameters.AddRange(paras);  

143             //关系sdr的同是将会关闭conn  

144             using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))  

145             {  

146                 dt.Load(sdr);  

147             }  

148             return dt;  

149         }  

150 

151     }  

152 

153 } 

 

你可能感兴趣的:(help)