SqlHelper 拿来主义--逐步完善

    public static class SqlHelper

    {

        //获取连接字符串

        private static readonly string constr = ConfigurationManager.ConnectionStrings["connectionStr"].ConnectionString;

        //ExecuteNonQuery()方法

        //ExecuteScalar()方法

        //ExecuteReader()方法

        //ExecuteDataTable()方法


        //执行增删改的

        public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)

        {

            //使用using关键字定义一个范围,在范围结束时自动调用这个类实例的Dispose处理对象

            using (SqlConnection con = new SqlConnection(constr))

            {

                //创建执行sql命令对象

                using (SqlCommand cmd = new SqlCommand(sql, con))

                {

                    //判断是否传递了sql参数

                    if (pms != null)

                    {

                        //将参数添加到Parameters集合中

                        cmd.Parameters.AddRange(pms);

                    }

                    con.Open();

                    return cmd.ExecuteNonQuery();

                }

            }

        }


        //执行返回单个值的

        public static object ExecuteScalar(string sql, params SqlParameter[] pms)

        {

            using (SqlConnection con = new SqlConnection(constr))

            {

                using (SqlCommand cmd = new SqlCommand(sql, con))

                {

                    if (pms != null)

                    {

                        cmd.Parameters.AddRange(pms);

                    }


                    con.Open();

                    return cmd.ExecuteScalar();

                }

            }

        }



        //执行返回SqlDataReader

        public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pms)

        {

            SqlConnection con = new SqlConnection(constr);

            using (SqlCommand cmd = new SqlCommand(sql, con))

            {

                if (pms != null)

                {

                    cmd.Parameters.AddRange(pms);

                }


                try

                {

                    con.Open();

                    return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

                }

                catch (Exception ex)

                {

                    con.Close();

                    con.Dispose();

                    throw;

                }

            }

        }



        //执行返回DataTable

        public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pms)

        {

            DataTable dt = new DataTable();

            using (SqlDataAdapter adapter = new SqlDataAdapter(sql, constr))

            {

                if (pms != null)

                {

                    adapter.SelectCommand.Parameters.AddRange(pms);

                }

                adapter.Fill(dt);

            }

            return dt;

        }


        public static DataSet Query(string SQLString,params SqlParameter[] pms)

        {

            DataSet ds = new DataSet();

            using (SqlDataAdapter adapter = new SqlDataAdapter(SQLString, constr))

            {

                if (pms != null)

                {

                    adapter.SelectCommand.Parameters.AddRange(pms);

                }

                adapter.Fill(ds);

            }


            return ds;

        }

    }