zoukankan      html  css  js  c++  java
  • sqlhelper 类

     public static class SqlHelper
        {
            //获取配置文件中的连接字符串
            private static readonly string constr = ConfigurationManager.ConnectionStrings["sql"].ConnectionString;
    
            /// <summary>
            /// 执行insert、delete、update的方法
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="pms"></param>
            /// <returns></returns>
            public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
            {
                using (SqlConnection con = new SqlConnection(constr))
                {
                    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        //如果pms为null,则直接调用cmd.Parameters.AddRange(pms)会报错。
                        if (pms != null)
                        {
                            cmd.Parameters.AddRange(pms);
                        }
                        con.Open();
                        return cmd.ExecuteNonQuery();
                    }
    
                }
            }
    
            /// <summary>
            /// 执行sql语句,返回单个值。
            /// </summary>
            /// <param name="sql">要执行的sql语句</param>
            /// <param name="pms">sql语句中的参数</param>
            /// <returns></returns>
            public static object ExecuteScalar(string sql, params SqlParameter[] pms)
            {
                using (SqlConnection con = new SqlConnection(constr))
                {
                    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        //如果pms为null,则直接调用cmd.Parameters.AddRange(pms)会报错。
                        if (pms != null)
                        {
                            cmd.Parameters.AddRange(pms);
                        }
                        con.Open();
                        return cmd.ExecuteScalar();
                    }
    
                }
            }
    
            /// <summary>
            /// 执行sql语句返回一个DataReader
            /// 当返回DataReader的时候,注意:
            /// 1.Connection不能关闭
            /// 2.DataReader不能关闭
            /// 3.command对象执行ExecuteReader()的时候需要传递一个参数CommandBehavior.CloseConnection
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="pms"></param>
            /// <returns></returns>
            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);
                    }
                    con.Open();
                    //当调用ExecuteReader()方法的时候,如果传递一个CommandBehavior.CloseConnection参数,则表示将来当用户关闭reader的时候,系统会自动将Connection也关闭掉。
                    SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                    return reader;
                }
    
            }
    
            /// <summary>
            /// 封装一个返回DataTable的方法。
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="pms"></param>
            /// <returns></returns>
            public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pms)
            {
                SqlDataAdapter sqlAdapter = new SqlDataAdapter(sql, constr);
                if (pms != null)
                {
                    sqlAdapter.SelectCommand.Parameters.AddRange(pms);
                }
                DataTable dt = new DataTable();
                sqlAdapter.Fill(dt);
                return dt;
            }
        }
    
  • 相关阅读:
    MVC3基础嵌套总结
    List之Union(),Intersect(),Except() 亦可以说是数学中的并集,交集,差集
    sqlserver查询记录数某个区间内记录
    各语言的unix时间戳 【转】
    SQLserver删除某数据库中所有表
    C#日期格式转换大全
    【转】Linq之动态排序(字符传入)
    谈谈Equals和GetHashcode
    JS常用代码收集
    ROW_NUMBER()、RANK()、DENSE_RANK()、NTILE(N)
  • 原文地址:https://www.cnblogs.com/xh0626/p/4438652.html
Copyright © 2011-2022 走看看