zoukankan      html  css  js  c++  java
  • SqlHelper 基类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /**/
    using System.Data.SqlClient;
    using System.Data;
    using System.Configuration;
    /********************************************************************************
     ** 创建人:
     ** 创始时间:2012-11-27
     ** 修改人:
     ** 修改时间:
     ** 描述:
     ** 数据库操作基类
    *********************************************************************************/
    namespace DAL
    {
        public class SqlHelper
        {
            public static SqlConnection connection;
    
            #region 打开数据库
            /// <summary>
            /// 打开数据库
            /// </summary>
            public static SqlConnection Conn
            {
                get
                {
                    string connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
                    if (connection == null)
                    {
                        connection = new SqlConnection(connStr);
                        connection.Open();
                    }
                    else if(connection.State==System.Data.ConnectionState.Closed){
                        connection = new SqlConnection(connStr);
                        connection.Open();
                    }else if (connection.State==System.Data.ConnectionState.Broken){
                        connection.Close();
                        connection.Open();
                    }
                    return connection;
                }
            }
            #endregion
    
            #region 增,删,改ExecuteNonQuery
            /// <summary>
            /// 单个数据增,删,改
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public static int ExecuteNonQuery(string sql)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        int result = cmd.ExecuteNonQuery();
                        return result;
                    }
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion 
    
            #region 带参数的增,删,改ExecuteNonQuery
            /// <summary>
            /// 带多个参数的增,删,改
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="type"></param>
            /// <param name="values"></param>
            /// <returns></returns>
            public static int ExecuteNonQuery(string sql,CommandType type,params SqlParameter[] values)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        cmd.CommandType = type;
                        cmd.Parameters.AddRange(values);//
                        int result = cmd.ExecuteNonQuery();
                        return result;
                    }
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion
    
            #region 查询语句ExecuteScalar
            /// <summary>
            /// 查单个值
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public static int ExecuteScalar(string sql)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        int result = Convert.ToInt32(cmd.ExecuteScalar());
                        return result;
                    }
                }
                catch(SqlException ex)
                {
    
                    throw ex;
                }
            }
            #endregion 
    
            #region 带参数的查询语句ExecuteScalar
            /// <summary>
            /// 带执行类型的ExecuteScalar
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="type"></param>
            /// <param name="values"></param>
            /// <returns></returns>
            public static int ExecuteScalar(string sql,CommandType type,params SqlParameter[] values)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        cmd.CommandType = type;
                        cmd.Parameters.AddRange(values);
                        int result =Convert.ToInt32(cmd.ExecuteScalar());
                        return result;
                    }
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion
    
            #region 查询,返回DataReader
            /// <summary>
            /// 查询表,获取多个记录
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public static SqlDataReader ExecuteReader(string sql)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        SqlDataReader dtr = cmd.ExecuteReader();
                        return dtr;
                    }
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion 
    
            #region 带参数的查询,返回DataReader
            /// <summary>
            /// 查询表,获取多个记录
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="type"></param>
            /// <param name="values"></param>
            /// <returns></returns>
            public static SqlDataReader ExecuteReader(string sql,CommandType type,params SqlParameter[] values)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        cmd.CommandType = type;
                        cmd.Parameters.AddRange(values);
                        SqlDataReader dtr = cmd.ExecuteReader();
                        return dtr;
                    }
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion 
    
            #region 查询,返回datatable
            /// <summary>
            /// 返回datatable
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public static DataTable dataTable(string sql)
            {
                try
                {
                    DataSet dst = new DataSet();
                    SqlCommand cmd = new SqlCommand(sql,Conn);
                    SqlDataAdapter dad = new SqlDataAdapter(cmd);
                    dad.Fill(dst);//在 DataSet 中添加或刷新行
                    return dst.Tables[0];
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion
    
            #region 带参数的查询, 返回dataTable
            /// <summary>
            /// 返回dataTable
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="values"></param>
            /// <returns></returns>
            public static DataTable datatable(string sql,params SqlParameter[] values)
            {
                DataSet dst = new DataSet();
                SqlCommand cmd = new SqlCommand(sql,Conn);
                cmd.Parameters.AddRange(values);
                SqlDataAdapter dad = new SqlDataAdapter(cmd);
                dad.Fill(dst);//在 DataSet 中添加或刷新行
                return dst.Tables[0];
            }
            #endregion
        }
    }
  • 相关阅读:
    虚函数中的变量作用域问题
    C++技能重拾2
    C++技能重拾
    位运算取第一个非0的位 r & (~(r-1))
    ThoughtWorks微服务架构交流心得
    字符串匹配的sunday算法
    Codeforces Round #270(利用prim算法)
    HDFS建筑与shell操作
    Spark SQL 源代码分析系列
    HDU 4686 Arc of Dream(递归矩阵加速)
  • 原文地址:https://www.cnblogs.com/dong897812629/p/2831447.html
Copyright © 2011-2022 走看看