• 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;
            }
        }
    
  • 相关阅读:
    【分布式】缓存穿透、缓存雪崩,缓存击穿解决方案
    mongodb常用查询语法
    依据记录总数和每页大小取页数(转)
    SpringBoot普通类中如何获取其他bean例如Service、Dao(转)
    RabbitMQ三种Exchange模式(fanout,direct,topic)的性能比较(转)
    java中job运行时间
    如何查看某个端口被谁占用
    Push to origin/master was rejected (Git提交错误)(转)
    curl网站开发指南
    2012 不宜进入的三个技术点(中)
  • 原文地址:https://www.cnblogs.com/xh0626/p/4438652.html
Copyright © 2020-2023  润新知