• SqlHelper帮助类_上(SQLServer数据库含Connection详解)


          在操作数据库时,经常会用到自己封装的SqlHelper。这里主要对SQLServer数据库的Sqlhelper,主要用于在同一个连接中完成CRUD!

    一.ADO.NET中的Connection详解:

    • 接字符串
      1. 写法一:
        • "Data Source=服务器名; Initial Catalog=数据库; User ID =用户名; Password=密码; Charset=UTF8; "
      2. 写法二:
        • "Server=服务器名; Database=数据库; uid=用户名; Password=密码;Charser=UTF8"

    注:Integrated Security = True;

    解释:integrated security=true 的意思是集成验证,也就是说使用Windows验证的方式去连接到数据库服务器。这样方式的好处是不需要在连接字符串中编写用户名和密码,从一定程度上说提高了安全性。

    • Connection:

      • Connection是实现了IDisposable接口的对象。使用Connection需要释放资源。
    using(Connection 对象)
    {
       //该方法体内容执行完后就自动释放资源了
    }

     

    二.config配置文件:

    <connectionStrings>
        <add name="constr" connectionString="server=127.0.0.1;user id=用户名;password=密码;database=数据库"/>
      </connectionStrings>

    三.SqlHelper:

    /// <summary>
            /// 获取web.config的连接字符串
            /// </summary>
            private static readonly string connstr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    
            /// <summary>
            /// 将数据加载到本地,在本地对数据进行操作
            /// </summary>
            /// <param name="sql">sql语句</param>
            /// <param name="parameter">参数化查询</param>
            /// <returns>返回从数据库中读取到的DataTable表</returns>
            public static DataTable ExecuteQuery(string sql, params SqlParameter[] parameter)
            {
                using (SqlConnection conn = new SqlConnection(connstr))
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    conn.Open();
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameter);
                    DataTable tab = new DataTable();
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        tab.Load(reader);
                        return tab;
    
                    }
                }
            }
             /// <summary>
             /// 用于执行增加和删除语句
             /// </summary>
             /// <param name="sql">sql语句</param>
             /// <param name="parameter">参数化查询</param>
             /// <returns>有多少语句执行成功</returns>
            public static int ExecuteNonQuery(string sql, params SqlParameter[] parameter)
            {
                using (SqlConnection conn = new SqlConnection(connstr))
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    conn.Open();
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameter);
                    return cmd.ExecuteNonQuery();
                }
            }
            /// <summary>
            /// 执行语句后,返回第一行第一列的数据
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="parameter"></param>
            /// <returns>object类型的值</returns>
            public static object ExecuteScalar(string sql, params SqlParameter[] parameter)
            {
                using (SqlConnection conn = new SqlConnection(connstr))
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    conn.Open();
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameter);
                    return cmd.ExecuteScalar();
                }
            }
            /// <summary>
            /// 在数据库中,进行数据库的查询操作
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="parameter"></param>
            /// <returns></returns>
            public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] parameter)
            {
                SqlConnection conn = new SqlConnection(connstr);
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    conn.Open();
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameter);
                    return cmd.ExecuteReader(CommandBehavior.CloseConnection);
                }
            }
  • 相关阅读:
    获取全部 txt 文本中出现次数最多的前N个词汇
    提取txt文本有效内容
    部分画图
    Series结构(常用)
    C 语言实例
    HTML之marquee(文字滚动)详解
    一款好看的404页面代码 | 滚动的404
    VS2010到VS2019各个版本的密钥
    什么是工程/项目?
    什么是IDE(集成开发环境)?
  • 原文地址:https://www.cnblogs.com/fengxuehuanlin/p/5271944.html
Copyright © 2020-2023  润新知