sql增刪改查封裝


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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM