• 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;
            }
        }
    
  • 相关阅读:
    开源框架---通过Bazel编译使用tensorflow c++ API 记录
    图像处理---视频<->图片
    C++ ---释放内存(new和delete)
    目标检测---搬砖一个ALPR自动车牌识别的环境
    ubuntu系统---ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14
    Ubuntu系统---中英文问题小记
    Ubuntu系统---nvidia驱动下载之问题
    Ubuntu系统---又显示nvidia-smi 未找到命令
    Ubuntu系统---安装English版本之后的一些工作
    Ubuntu系统---安装“搜狗拼音法”导致桌面打不开
  • 原文地址:https://www.cnblogs.com/xh0626/p/4438652.html
Copyright © 2020-2023  润新知