App.config文件
1 <?xml version="1.0" encoding="utf-8" ?> 2 <configuration> 3 <startup> 4 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 5 </startup> 6 <connectionStrings> 7 <add connectionString="Data Source = .; Initial Catalog = mysql; Integrated Security = True;" name="conStr" /> 8 </connectionStrings> 9 </configuration>
sqlHelper封装类库代码
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 //新建一个App.confit文件,引用下面两个命名空间 7 using System.Configuration; 8 using System.Data.SqlClient; 9 10 namespace 封装 11 { 12 public class SqlHelper 13 { 14 //读取连接字符串 15 private static readonly string str = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString; 16 //三个方法,关键是第三个方法,查询,条件判断比较多 17 /// <summary> 18 /// 此方法可以做增删改 19 /// </summary> 20 /// <param name="sql">sql语句</param> 21 /// <param name="ps">sql语句中的参数</param> 22 /// <returns>返回受影响的行数,int类型</returns> 23 private static int ExecuteNonQuery(string sql, params SqlParameter[] ps) 24 { 25 using (SqlConnection con = new SqlConnection(str)) 26 { 27 using (SqlCommand cmd = new SqlCommand(sql, con)) 28 { 29 con.Open(); 30 if (ps != null) 31 { 32 cmd.Parameters.AddRange(ps); 33 } 34 35 return cmd.ExecuteNonQuery(); 36 } 37 } 38 } 39 /// <summary> 40 /// 该方法用在查询上 41 /// </summary> 42 /// <param name="sql">sql语句</param> 43 /// <param name="ps">sql语句中的参数</param> 44 /// <returns>返回首行首列,object类型</returns> 45 private static object ExecuteScalar(string sql, params SqlParameter[] ps) 46 { 47 using (SqlConnection con = new SqlConnection(str)) 48 { 49 using (SqlCommand cmd = new SqlCommand(sql, con)) 50 { 51 con.Open(); 52 if (ps != null) 53 { 54 cmd.Parameters.AddRange(ps); 55 } 56 return cmd.ExecuteScalar(); 57 } 58 } 59 } 60 /// <summary> 61 /// 该方法用于查询,读数据 62 /// </summary> 63 /// <param name="sql">sql语句</param> 64 /// <param name="ps">sql语句中的参数</param> 65 /// <returns>返回sqldatareader对象,里面有数据</returns> 66 private static SqlDataReader ExecuteReader(string sql, params SqlParameter[] ps) 67 { 68 //这地方不用using,因为不知道什么时候释放 69 SqlConnection con = new SqlConnection(str); 70 using (SqlCommand cmd = new SqlCommand(sql,con)) 71 { 72 if (ps!=null) 73 { 74 cmd.Parameters.AddRange(ps); 75 } 76 try 77 { 78 con.Open(); 79 //这个重载会datareader关闭时,自动关闭connection 80 return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); 81 } 82 catch (Exception ex) 83 { 84 con.Close(); 85 con.Dispose(); 86 throw ex; 87 } 88 } 89 } 90 } 91 }
时间: 2024-10-26 00:21:19