SqlHelper類

static class SqlHelper
    {
	//connstr是通過讀取App.config文件中的conntr
        private static readonly string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
        //執行增、刪、改
        public static int ExecuteNonQuery(string sql, params SqlParameter[] parameter)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    if (parameter != null)
                    {
                        cmd.Parameters.AddRange(parameter);
                    }
                    return cmd.ExecuteNonQuery();
                }
            }
        }
        //執行查詢,返回數據集第一行第一列的數據
        public static object ExecuteScalar(string sql, params SqlParameter[] parameter)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    if (parameter != null)
                    {
                        cmd.Parameters.AddRange(parameter);
                    }
                    return cmd.ExecuteScalar();
                }
            }
        }
        //執行查詢操作,返回 DataTable, 針對小數據量
        public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameter)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    if (parameter != null)
                    {
                        cmd.Parameters.AddRange(parameter);
                    }
                    using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
                    {
                        DataSet dataset = new DataSet();
                        adapter.Fill(dataset);
                        return dataset.Tables[0];
                    }
                }
            }
        }
        //執行逐行讀取操作,針對大數據量
        public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] parameter)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    if (parameter != null)
                    {
                        cmd.Parameters.AddRange(parameter);
                    }
                    return cmd.ExecuteReader();
                }
            }
        }   
    }

發佈了20 篇原創文章 · 獲贊 7 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章