SQL操作类详细注释版

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
namespace GameStatistics
{
    /// <summary>
    /// 数据库操作类
    /// </summary>
    class SqlHelp
    {
        private static SqlConnection connection;
        #region 1.数据库连接字符串
        /// <summary>
        /// 连接数据库
        /// </summary>
        public static SqlConnection Connection
        {
            get
            {
                //获取连接字符串
                string connString = @"Data Source=D1\SQL2008R2SP2;Initial Catalog=GameStatistics;User ID=sa;Password=123456";
                if (connection == null)
                {
                    connection = new SqlConnection(connString);
                    connection.Open();
                }
                else if (connection.State == System.Data.ConnectionState.Closed)
                {
                    connection.Open();
                }
                else if (connection.State == System.Data.ConnectionState.Broken)
                {
                    connection.Close();
                    connection.Open();
                }
                return connection;
            }
        }
        #endregion
        #region 2.执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行
        /// <summary>
        /// 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行,返回受影响的行数
        /// </summary>
        /// <param name="sqlString">SQL查询语句</param>
        /// <param name="commType">指定如何解释命令字符串</param>
        /// <param name="parameters">表示 System.Data.SqlClient.SqlCommand 的参数</param>
        /// <returns>受影响的行数</returns>
        public static int ExecuteScalar(string sqlString, CommandType commType, params SqlParameter[] parameters)
        {
            SqlCommand command = new SqlCommand(sqlString, Connection);
            command.Parameters.AddRange(parameters);
            return (int)command.ExecuteScalar();
        }
        #endregion
        #region 3.对连接执行 Transact-SQL语句并返回受影响的行数
        /// <summary>
        /// 对连接执行 Transact-SQL语句并返回受影响的行数,返回受影响的行数
        /// </summary>
        /// <param name="commText">SQL查询语句</param>
        /// <param name="commType">指定如何解释命令字符串</param>
        /// <param name="parameters">表示 System.Data.SqlClient.SqlCommand 的参数</param>
        /// <returns>受影响的行数</returns>
        public static int ExecuteCommand(string commText, CommandType commType, params SqlParameter[] parameters)
        {
            SqlCommand command = new SqlCommand(commText, Connection);
            command.Parameters.AddRange(parameters);
            return command.ExecuteNonQuery();
        }
        #endregion
        #region 4.根据查询语句返回一个DataTable
        /// <summary>
        /// 根据查询语句返回一个DataTable
        /// </summary>
        /// <param name="commText">查询语句</param>
        /// <param name="commType">命令字符串类型</param>
        /// <returns>Table</returns>
        public static DataTable GetDataTable(string commText, CommandType commType)
        {
            SqlCommand command = new SqlCommand(commText, Connection);
            SqlDataAdapter da = new SqlDataAdapter(command);
            DataSet ds = new DataSet();
            da.Fill(ds, "table");
            return ds.Tables["table"];
        }
        #endregion
        #region 5.根据查询语句返回一个DataView
        /// <summary>
        /// 根据查询语句返回一个DataView
        /// </summary>
        /// <param name="commText">查询语句</param>
        /// <param name="commType">命令字符串类型</param>
        /// <returns>DataView</returns>
        public static DataView GetDataView(string commText, CommandType commType)
        {
            SqlCommand command = new SqlCommand(commText, Connection);
            SqlDataAdapter da = new SqlDataAdapter(command);
            DataSet ds = new DataSet();
            da.Fill(ds, "table");
            return ds.Tables["table"].DefaultView;
        }
        #endregion
        #region 6.根据查询语句返回一个datatable
        /// <summary>
        /// 根据查询语句返回一个datatable
        /// </summary>
        /// <param name="commText">连接字符串</param>
        /// <param name="commType">命令字符串类型</param>
        /// <param name="parameters">返回一组映射</param>
        /// <returns>datatable</returns>
        public static DataTable GetDataTable(string commText, CommandType commType, params SqlParameter[] parameters)
        {
            DataSet ds = new DataSet();
            SqlCommand command = new SqlCommand(commText, Connection);
            command.Parameters.AddRange(parameters);
            SqlDataAdapter adapter = new SqlDataAdapter(command);
            adapter.Fill(ds, "myTable");
            return ds.Tables["myTable"];
        }
        #endregion
    }
}

转载于:https://my.oschina.net/dongri/blog/610893

猜你喜欢

转载自blog.csdn.net/weixin_34191845/article/details/91765835
今日推荐