C# 封装SqlHelper

在项目配置文件中添加数据库连接字符串

  <connectionStrings>
    <add connectionString="Data Source=主机;Initial Catalog=数据库名;Persist Security Info=True;User ID=用户名;Password=密码" name="当前连接字符串名称"/>
  </connectionStrings>

封装类

    class SqlHelper
    {
        //获取连接字符串
        private readonly static string connectionStr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
        /// <summary>
        /// 执行sql 增 删 该 
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public static bool ExecuteNonQuery(string sql, params SqlParameter[] param)
        {
            int result;
            using (SqlConnection con = new SqlConnection(connectionStr))
            {
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    if (param != null)
                    {
                        cmd.Parameters.AddRange(param);
                    }
                    try
                    {
                        con.Open();
                        result = cmd.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        //如果连接失败,抛出异常,并手动释放资源
                        con.Close();
                        con.Dispose();
                        throw ex;
                    }
                }
                con.Close();
            }
            if (result == 1)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// 查询单行单列  或者是统计
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public static object ExecuteScalar(string sql, params SqlParameter[] param)
        {
            using (SqlConnection con = new SqlConnection(connectionStr))
            {
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    if (param != null)
                    {
                        cmd.Parameters.AddRange(param);
                    }
                    try
                    {
                        con.Open();
                        return cmd.ExecuteScalar();
                    }
                    catch (Exception ex)
                    {
                        //如果连接失败,抛出异常,并手动释放资源
                        con.Close();
                        con.Dispose();
                        throw ex;
                    }

                }
            }
        }
        /// <summary>
        /// 根据条件查询数据
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="param"></param>
        /// <returns>SqlDataReader对象</returns>
        public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] param)
        {
            using (SqlConnection con = new SqlConnection(connectionStr))
            {
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    if (param != null)
                    {
                        cmd.Parameters.AddRange(param);
                    }
                    try
                    {
                        con.Open();
                        return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
                    }
                    catch (Exception ex)
                    {
                        //如果连接失败,抛出异常,并手动释放资源
                        con.Close();
                        con.Dispose();
                        throw ex;
                    }
                }
            }
        }

        /// <summary>
        /// 根据条件查询数据
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="param"></param>
        /// <returns>DataTable对象</returns>
        public static DataTable ExcuteTable(string sql, params SqlParameter[] param)
        {
            using (SqlConnection con = new SqlConnection(connectionStr))
            {
                DataTable dt = new DataTable();

                using (SqlDataAdapter sda = new SqlDataAdapter(sql, connectionStr))
                {
                    if (param != null) {
                        sda.SelectCommand.Parameters.AddRange(param);
                    }
                    sda.Fill(dt);
                }

                return dt;
            }

        }
    }
原文地址:https://www.cnblogs.com/xiaoliwang/p/9522065.html