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

    }

}

 

你可能感兴趣的:(help)