zoukankan      html  css  js  c++  java
  • [置顶] 自己写sqlhelper类

    自己写sqlhelper类

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;
    
    namespace birthday
    {
        /// <summary>
        /// SqlHelper
        /// </summary>
        [Serializable]
        public class SqlHelper
        {
            //数据库连接字符串
            private static string strConn = ConfigurationManager.ConnectionStrings["strConn"].ConnectionString;
    
            #region ExecuteNonQuery
    
            /// <summary>
            /// 执行T-sql语句 并返回受影响行数
            /// </summary>
            /// <param name="sql">T-sql语句</param>
            /// <returns>没有受影响行数返回-1</returns>
            public static int ExecuteNonQuery(string sql)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        return cmd.ExecuteNonQuery();
                    }
                }
            }
    
            /// <summary>
            /// 执行T-sql语句 并返回受影响行数
            /// </summary>
            /// <param name="sql">T-sql语句</param>
            /// <param name="SqlParameter">参数</param>
            /// <returns>没有受影响行数返回-1</returns>
            public static int ExecuteNonQuery(string sql, params SqlParameter[] SqlParameter)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        cmd.Parameters.AddRange(SqlParameter);
                        return cmd.ExecuteNonQuery();
                    }
                }
            }
    
            #endregion
    
            #region ExecuteScalar
    
            /// <summary>
            /// 执行T-sql语句 并返回结果的第一行第一列(忽略其他列)
            /// </summary>
            /// <param name="sql">T-sql语句</param>
            /// <returns>没有列则返回null</returns>
            public static object ExecuteScalar(string sql)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        return cmd.ExecuteScalar();
                    }
                }
            }
    
            /// <summary>
            /// 执行T-sql语句 并返回结果的第一行第一列(忽略其他列)
            /// </summary>
            /// <param name="sql">T-sql语句</param>
            /// <param name="SqlParameter">参数</param>
            /// <returns>没有列则返回null</returns>
            public static object ExecuteScalar(string sql, params SqlParameter[] SqlParameter)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        cmd.Parameters.AddRange(SqlParameter);
                        return cmd.ExecuteScalar();
                    }
                }
            }
    
            #endregion
    
            #region ExecuteReader
    
            /// <summary>
            /// 以只进流方式读取数据,查询到的数据存储在服务器中
            /// </summary>
            /// <param name="sql">T-sql 语句</param>
            /// <returns>数据流</returns>
            public static SqlDataReader ExecuteReader(string sql)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        return cmd.ExecuteReader();
                    }
                }
            }
    
            /// 以只进流方式读取数据,查询到的数据存储在服务器中
            /// </summary>
            /// <param name="sql">T-sql 语句</param>
            /// <param name="cbh">查询结果、查询数据的说明</param>
            /// <returns>数据流</returns>
            public static SqlDataReader ExecuteReader(string sql, CommandBehavior CommandBehavior)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        return cmd.ExecuteReader(CommandBehavior);
                    }
                }
            }
    
            /// <summary>
            /// 以只进流方式读取数据,查询到的数据存储在服务器中
            /// </summary>
            /// <param name="sql">T-sql 语句</param>
            /// <param name="SqlParameter">参数</param>
            /// <returns>数据流</returns>
            public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] SqlParameter)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        cmd.Parameters.AddRange(SqlParameter);
                        return cmd.ExecuteReader();
                    }
                }
            }
    
            /// <summary>
            /// 以只进流方式读取数据,查询到的数据存储在服务器中
            /// </summary>
            /// <param name="sql">T-sql 语句</param>
            /// <param name="SqlParameter">参数</param>
            /// <returns>数据流</returns>
            public static SqlDataReader ExecuteReader(string sql, CommandBehavior CommandBehavior, params SqlParameter[] SqlParameter)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        cmd.Parameters.AddRange(SqlParameter);
                        return cmd.ExecuteReader(CommandBehavior);
                    }
                }
            }
    
            #endregion
    
            #region ExeccutDataSet
    
            /// <summary>
            /// 返回以xml描述的不依赖于数据库的独立数据集合,数据存放于客户端,相当于内存中的数据库
            /// </summary>
            /// <param name="sql">T-sql 语句</param>
            /// <returns>数据集合</returns>
            public static DataSet ExeccutDataSet(string sql)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        SqlDataAdapter _sda = new SqlDataAdapter(cmd);
                        DataSet _ds = new DataSet();
                        _sda.Fill(_ds);
                        return _ds;
                    }
                }
            }
    
            /// <summary>
            /// 返回以xml描述的不依赖于数据库的独立数据集合,数据存放于客户端,相当于内存中的数据库
            /// </summary>
            /// <param name="sql">T-sql 语句</param>
            /// <param name="SqlParameter">参数</param>
            /// <returns>数据集合</returns>
            public static DataSet ExeccutDataSet(string sql, params SqlParameter[] SqlParameter)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        cmd.Parameters.AddRange(SqlParameter);
                        SqlDataAdapter _sda = new SqlDataAdapter(cmd);
                        DataSet _ds = new DataSet();
                        _sda.Fill(_ds);
                        return _ds;
                    }
                }
            }
    
            #endregion
    
            #region ExeccutDataTable
    
            /// <summary>
            /// 返回临时保存数据的网格虚拟表(表示内存中数据的一个表)
            /// </summary>
            /// <param name="sql">T-sql 语句</param>
            /// <returns>数据虚拟表</returns>
            public static DataTable ExeccutDataTable(string sql)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        SqlDataAdapter _sda = new SqlDataAdapter(cmd);
                        DataTable _data = new DataTable();
                        _sda.Fill(_data);
                        return _data;
                    }
                }
            }
    
            /// <summary>
            /// 返回临时保存数据的网格虚拟表(表示内存中数据的一个表)
            /// </summary>
            /// <param name="sql">T-sql 语句</param>
            /// <param name="SqlParameter">参数</param>
            /// <returns>数据虚拟表</returns>
            public static DataTable ExeccutDataTable(string sql, params SqlParameter[] SqlParameter)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        cmd.Parameters.AddRange(SqlParameter);
                        SqlDataAdapter _sda = new SqlDataAdapter(cmd);
                        DataTable _data = new DataTable();
                        _sda.Fill(_data);
                        return _data;
                    }
                }
            }
    
            #endregion
    
            #region ExecuteDataRow
    
            /// <summary>
            /// 返回数据行(返回第一行,忽略其他行)
            /// </summary>
            /// <param name="sql">T-sql 语句</param>
            /// <returns>返回数据行</returns>
            public static DataRow ExecuteDataRow(string sql)
            {
    
                return SqlHelper.ExeccutDataTable(sql).Rows[0];
            }
    
            /// <summary>
            /// 返回数据行(返回第一行,忽略其他行)
            /// </summary>
            /// <param name="sql">T-sql 语句</param>
            /// <param name="SqlParameter">参数</param>
            /// <returns>返回数据行</returns>
            public static DataRow ExecuteDataRow(string sql, params SqlParameter[] SqlParameter)
            {
                return SqlHelper.ExeccutDataTable(sql, SqlParameter).Rows[0];
            }
    
            #endregion
    
            #region GetRecordCount
    
            /// <summary>
            /// 得到数据总条数
            /// </summary>
            /// <param name="table">表名称</param>
            /// <returns>数据总条数</returns>
            public static int GetRecordCount(string table)
            {
                int RecordCount = 0;
                string sql = "select count(*) from " + table;
                if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out RecordCount))
                {
                    return RecordCount;
                }
                else
                {
                    return 0;
                }
            }
    
            /// <summary>
            /// 得到数据总条数
            /// </summary>
            /// <param name="table">表名称</param>
            /// <param name="where">过滤条件</param>
            /// <returns>得到数据总条数</returns>
            public static int GetRecordCount(string table, string where)
            {
                int RecordCount = 0;
                string sql = "select count(*) from " + table + " where 1=1 and " + where;
                if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out RecordCount))
                {
                    return RecordCount;
                }
                else
                {
                    return 0;
                }
            }
    
            #endregion
    
            #region GetRecordMax
    
            /// <summary>
            /// 得到指定表指定列最大值
            /// </summary>
            /// <param name="table">表名称</param>
            /// <param name="field">列名称</param>
            /// <returns>最大值</returns>
            public static int GetRecordMax(string table, string field)
            {
                int _max = 0;
                string sql = "select max(" + field + ") from " + table;
                if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _max))
                {
                    return _max;
                }
                else
                {
                    return 0;
                }
            }
    
            /// <summary>
            /// 得到指定表指定列最大值
            /// </summary>
            /// <param name="table">表名称</param>
            /// <param name="field">列名称</param>
            /// <param name="where">过滤条件</param>
            /// <returns>最大值</returns>
            public static int GetRecordMax(string table, string field, string where)
            {
                int _max = 0;
                string sql = "select max(" + field + ") from " + table + " where 1=1 and " + where;
                if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _max))
                {
                    return _max;
                }
                else
                {
                    return 0;
                }
            }
    
            #endregion
    
            #region GetRecordMin
    
            /// <summary>
            /// 得到指定表指定列最小值
            /// </summary>
            /// <param name="table">表名称</param>
            /// <param name="field">列名称</param>
            /// <returns>最小值</returns>
            public static int GetRecordMin(string table, string field)
            {
                int _min = 0;
                string sql = "select min(" + field + ") from " + table;
                if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _min))
                {
                    return _min;
                }
                else
                {
                    return 0;
                }
            }
    
            /// <summary>
            /// 得到指定表指定列最小值
            /// </summary>
            /// <param name="table">表名称</param>
            /// <param name="field">列名称</param>
            /// <param name="where">过滤条件</param>
            /// <returns>最小值</returns>
            public static int GetRecordMin(string table, string field, string where)
            {
                int _min = 0;
                string sql = "select min(" + field + ") from " + table + " where 1=1 and " + where;
                if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _min))
                {
                    return _min;
                }
                else
                {
                    return 0;
                }
            }
    
            #endregion
    
            #region GetRecordAvg
    
            /// <summary>
            /// 得到指定表指定列平均值
            /// </summary>
            /// <param name="table">表名称</param>
            /// <param name="field">列名称</param>
            /// <returns>平均值</returns>
            public static int GetRecordAvg(string table, string field)
            {
                int _avg = 0;
                string sql = "select avg(" + field + ") from " + table;
                if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _avg))
                {
                    return _avg;
                }
                else
                {
                    return 0;
                }
            }
    
            /// <summary>
            /// 得到指定表指定列平均值
            /// </summary>
            /// <param name="table">表名称</param>
            /// <param name="field">列名称</param>
            /// <param name="where">过滤条件</param>
            /// <returns>平均值</returns>
            public static int GetRecordAvg(string table, string field, string where)
            {
                int _avg = 0;
                string sql = "select avg(" + field + ") from " + table + " where 1=1 and " + where;
                if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _avg))
                {
                    return _avg;
                }
                else
                {
                    return 0;
                }
            }
    
            #endregion
        }
    }
    


  • 相关阅读:
    前端开发中的设计模式
    前端常见的攻击
    前端笔试题
    JavaScript中的回调地狱及解决方法
    JavaScript中的编码解码
    JavaScript中操作节点
    前端常见面试题
    Vue的使用总结(2)
    JavaScript中的事件
    Vue的使用总结(1)
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3268557.html
Copyright © 2011-2022 走看看