• 因为最近一直在和数据库打交道,所以做了几个小封装


    class SqlHelper
        {
            private SqlHelper() { }
            /// <summary>
            /// 封装的 ExecuteNonQuery 方法
            /// </summary>
            /// <param name="dataSource">配置文件中的 connectionString 对应的 name </param>
            /// <param name="cmdText">要执行的 sql 命令,带参数</param>
            /// <param name="parameters"> SqlParameter 参数数组</param>
            /// <returns>返回影响的行数</returns>
            public static int ExecuteNonQuery(string dataSource, string cmdText, params SqlParameter[] parameters)
            {
                string connStr = ConfigurationManager.ConnectionStrings[dataSource].ToString();
                using(SqlConnection conn = new SqlConnection(connStr))
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = cmdText;
                        cmd.Parameters.AddRange(parameters);
                        return cmd.ExecuteNonQuery();
                    }
                }
            }
    
            /// <summary>
            /// 封装 ExecuteScalar 方法
            /// </summary>
            /// <param name="dataSource">配置文件中的 connectionString 对应的 name </param>
            /// <param name="cmdText">要执行的 sql 命令,带参数</param>
            /// <param name="parameters"> SqlParameter 参数数组</param>
            /// <returns>返回结果集中的第一行的第一列</returns>
            public static object ExecuteScalar(string dataSource, string cmdText, params SqlParameter[] parameters)
            {
                string connStr = ConfigurationManager.ConnectionStrings[dataSource].ToString();
                using(SqlConnection conn = new SqlConnection(connStr))
                {
                    conn.Open();
                    using(SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = cmdText;
                        cmd.Parameters.AddRange(parameters);
                        return cmd.ExecuteScalar();
                    }
                }
            }
            /// <summary>
            /// 封装的 ExecuteReader 方法
            /// </summary>
            /// <param name="dataSource">配置文件中的 connectionString 对应的 name </param>
            /// <param name="cmdText">要执行的 sql 命令,带参数</param>
            /// <param name="parameters"> SqlParameter 参数数组</param>
            /// <returns>返回一个 SqlDataReader 对象</returns>
            public static SqlDataReader ExecuteReader(string dataSource, string cmdText, params SqlParameter[] parameters)
            {
                string connStr = ConfigurationManager.ConnectionStrings[dataSource].ToString();
                using(SqlConnection conn = new SqlConnection(connStr))
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = cmdText;
                        cmd.Parameters.AddRange(parameters);
                        return cmd.ExecuteReader();
                    }
                }
            }
    
            /// <summary>
            /// 封装的 Fill 方法
            /// </summary>
            /// <param name="dataSource">配置文件中的 connectionString 对应的 name </param>
            /// <param name="cmdText">要执行的 sql 命令,带参数</param>
            /// <param name="parameters"> SqlParameter 参数数组</param>
            /// <returns>返回一个填充了数据的 DataTable 对象</returns>
            public static DataTable ExecuteDataTable(string dataSource, string cmdText, params SqlParameter[] parameters)
            {
                string connStr = ConfigurationManager.ConnectionStrings[dataSource].ToString();
                SqlCommand cmd = new SqlCommand(cmdText);
                cmd.Parameters.AddRange(parameters);
                SqlDataAdapter adapter = new SqlDataAdapter(cmd.CommandText, connStr);
                DataTable table = new DataTable();
                adapter.Fill(table);
                return table;
            }
        }
  • 相关阅读:
    PyQt作品 – PingTester – 多点Ping测试工具
    关于和技术人员交流的一二三
    Pyjamas Python Javascript Compiler, Desktop Widget Set and RIA Web Framework
    Hybrid Qt applications with PySide and Django
    pyjamas build AJAX apps in Python (like Google did for Java)
    PyQt 维基百科,自由的百科全书
    InfoQ:请问为什么仍要选择Java来处理后端的工作?
    Eric+PyQt打造完美的Python集成开发环境
    python select module select method introduce
    GUI Programming with Python: QT Edition
  • 原文地址:https://www.cnblogs.com/daimajun/p/6565969.html
Copyright © 2020-2023  润新知