SqlHelper幫助類_上(SQLServer數據庫含Connection詳解)


      在操作數據庫時,經常會用到自己封裝的SqlHelper。這里主要對SQLServer數據庫的Sqlhelper,主要用於在同一個連接中完成CRUD!

 

一.ADO.NET中的Connection詳解:

  • 接字符串
    1. 寫法一:
      • "Data Source=服務器名; Initial Catalog=數據庫; User ID =用戶名; Password=密碼; Charset=UTF8; "
    2. 寫法二:
      • "Server=服務器名; Database=數據庫; uid=用戶名; Password=密碼;Charser=UTF8"

注:Integrated Security = True;

解釋:integrated security=true 的意思是集成驗證,也就是說使用Windows驗證的方式去連接到數據庫服務器。這樣方式的好處是不需要在連接字符串中編寫用戶名和密碼,從一定程度上說提高了安全性。

 

  • Connection:

    • Connection是實現了IDisposable接口的對象。使用Connection需要釋放資源。
using(Connection 對象)
{
   //該方法體內容執行完后就自動釋放資源了
}

 

二.config配置文件:

<connectionStrings>
    <add name="constr" connectionString="server=127.0.0.1;user id=用戶名;password=密碼;database=數據庫"/>
  </connectionStrings>

三.SqlHelper:

 

/// <summary>
        /// 獲取web.config的連接字符串
        /// </summary>
        private static readonly string connstr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;

        /// <summary>
        /// 將數據加載到本地,在本地對數據進行操作
        /// </summary>
        /// <param name="sql">sql語句</param>
        /// <param name="parameter">參數化查詢</param>
        /// <returns>返回從數據庫中讀取到的DataTable表</returns>
        public static DataTable ExecuteQuery(string sql, params SqlParameter[] parameter)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            using (SqlCommand cmd = conn.CreateCommand())
            {
                conn.Open();
                cmd.CommandText = sql;
                cmd.Parameters.AddRange(parameter);
                DataTable tab = new DataTable();
                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    tab.Load(reader);
                    return tab;

                }
            }
        }
         /// <summary>
         /// 用於執行增加和刪除語句
         /// </summary>
         /// <param name="sql">sql語句</param>
         /// <param name="parameter">參數化查詢</param>
         /// <returns>有多少語句執行成功</returns>
        public static int ExecuteNonQuery(string sql, params SqlParameter[] parameter)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            using (SqlCommand cmd = conn.CreateCommand())
            {
                conn.Open();
                cmd.CommandText = sql;
                cmd.Parameters.AddRange(parameter);
                return cmd.ExecuteNonQuery();
            }
        }
        /// <summary>
        /// 執行語句后,返回第一行第一列的數據
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="parameter"></param>
        /// <returns>object類型的值</returns>
        public static object ExecuteScalar(string sql, params SqlParameter[] parameter)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            using (SqlCommand cmd = conn.CreateCommand())
            {
                conn.Open();
                cmd.CommandText = sql;
                cmd.Parameters.AddRange(parameter);
                return cmd.ExecuteScalar();
            }
        }
        /// <summary>
        /// 在數據庫中,進行數據庫的查詢操作
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] parameter)
        {
            SqlConnection conn = new SqlConnection(connstr);
            using (SqlCommand cmd = conn.CreateCommand())
            {
                conn.Open();
                cmd.CommandText = sql;
                cmd.Parameters.AddRange(parameter);
                return cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
        }

 


免責聲明!

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



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