zoukankan      html  css  js  c++  java
  • 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);
                }
            }
  • 相关阅读:
    学习Python的一些Tips
    读书笔记《深入理解计算机系统》(第三版) 第二章 信息的表示
    读书笔记《深入理解计算机系统》(第三版) 第一章 计算机系统漫游
    C 标准库系列之locale.h
    C 标准库系列之limits.h
    C 标准库系列之float.h
    C 标准库系列之errno.h
    C 标准库系列之ctype.h
    C 标准库系列之assert.h
    C 标准库系列之概述
  • 原文地址:https://www.cnblogs.com/fengxuehuanlin/p/5271944.html
Copyright © 2011-2022 走看看