zoukankan      html  css  js  c++  java
  • C# 封装SqlHelper

    老师在讲C#实战项目时所使用的SqlHelper,使用的数据库是SQL Server

    注意,连接数据库的连接字符串需要在配置文件中设置好

    <appSettings>
        <add key = "connString" value="data source = .; database = CourseSelectionInfo; integrated security = true"/>
    </appSettings>
    
    public class SqLHelper
    {
        #region 连接字符串connString
        private static string connString;
        static DBHelper()
        {
            connString = ConfigurationManager.AppSettings["connString"];
        }
        #endregion
    
        #region 增删改int ExcuteNonQuery(string cmdText, CommandType cmdType, params SqlParameter[] parameters)
        /// <summary>
        /// 增删改
        /// </summary>
        /// <param name="cmdText">sql</param>
        /// <param name="cmdType"></param>
        /// <param name="parameters">参数</param>
        /// <returns>修改了几行</returns>
        public static int ExcuteNonQuery(string cmdText, CommandType cmdType, params SqlParameter[] parameters)
        {
            using (SqlConnection connection = new SqlConnection(connString))
            {
                using (SqlCommand cmd = new SqlCommand(cmdText, connection))
                {
                    cmd.CommandType = cmdType;
                    connection.Open();
                    if (parameters.Length > 0)
                    {
                        cmd.Parameters.AddRange(parameters);
                    }
                    return cmd.ExecuteNonQuery();
                }
            }
        }
        #endregion
    
        #region 获取一个数据 T ExcuteScalar<T>(string cmdText,  CommandType cmdType, params SqlParameter[] parameters)
        /// <summary>
        /// 获取一个数据<T>
        /// </summary>
        /// <typeparam name="T">数据类型</typeparam>
        /// <param name="cmdText">sql</param>
        /// <param name="cmdType"></param>
        /// <param name="parameters">参数</param>
        /// <returns>任意类型的数据</returns>
        public static T ExcuteScalar<T>(string cmdText, CommandType cmdType, params SqlParameter[] parameters)
        {
            using (SqlConnection connection = new SqlConnection(connString))
            {
                using (SqlCommand cmd = new SqlCommand(cmdText, connection))
                {
                    cmd.CommandType = cmdType;
                    connection.Open();
                    if (parameters.Length > 0)
                    {
                        cmd.Parameters.AddRange(parameters);
                    }
                    return (T)cmd.ExecuteScalar();
                }
            }
        }
        #endregion
    
        #region 读取数据表SqlDataReader ExcuteReader(string cmdText, CommandType cmdType, params SqlParameter[] parameters)
        /// <summary>
        /// 读取数据表
        /// </summary>
        /// <param name="cmdText">sql</param>
        /// <param name="cmdType"></param>
        /// <param name="parameters">参数</param>
        /// <returns>SqlDataReader</returns>
        public static SqlDataReader ExcuteReader(string cmdText, CommandType cmdType, params SqlParameter[] parameters)
        {
            SqlConnection connection = new SqlConnection(connString);
                using (SqlCommand cmd = new SqlCommand(cmdText, connection))
                {
                    cmd.CommandType = cmdType;
                    connection.Open();
                    if (parameters.Length > 0)
                    {
                        cmd.Parameters.AddRange(parameters);
                    }
                    return cmd.ExecuteReader(CommandBehavior.CloseConnection);
                }
        }
        #endregion
    
        #region 临时数据库DataSet GetDataSet(string cmdText, CommandType cmdType, params SqlParameter[] parameters)
        /// <summary>
        /// 获取临时数据库
        /// </summary>
        /// <param name="cmdText"></param>
        /// <param name="cmdType"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public static DataSet GetDataSet(string cmdText, CommandType cmdType, params SqlParameter[] parameters)
        {
            DataSet ds = new DataSet();
            using (SqlConnection connection = new SqlConnection(connString))
            {
                using (SqlCommand cmd = new SqlCommand(cmdText, connection))
                {
                    cmd.CommandType = cmdType;
                    using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
                    {
                        if (parameters.Length > 0)
                        {
                            adapter.SelectCommand.Parameters.AddRange(parameters);
                        }
                        adapter.Fill(ds);
                    }
                }
            }
            return ds;
        }
        #endregion
    
        #region 临时数据表DataTable GetDataTable(string cmdText, CommandType cmdType, params SqlParameter[] parameters)
        /// <summary>
        /// 获取临时数据表
        /// </summary>
        /// <param name="cmdText">sql</param>
        /// <param name="cmdType"></param>
        /// <param name="parameters">参数</param>
        /// <returns></returns>
        public static DataTable GetDataTable(string cmdText, CommandType cmdType, params SqlParameter[] parameters)
        {
            return GetDataSet(cmdText, cmdType, parameters).Tables[0];
        }
        #endregion
    }
    
  • 相关阅读:
    常见makefile写法
    CMake入门指南
    CMAKE的使用
    Google NewSQL之Spanner
    Google Spanner (中文版)
    全球级的分布式数据库 Google Spanner原理
    idea刷新项目、清除项目缓存
    彻底理解Java的Future模式
    Elasticsearch 三种分页方式
    ElasticSearch 深度分页解决方案
  • 原文地址:https://www.cnblogs.com/xueyubao/p/11402945.html
Copyright © 2011-2022 走看看