SqlHelper类库

来源:互联网 发布:情感读本杂志软件 编辑:程序博客网 时间:2024/06/05 22:31
using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration;using System.IO;namespace BFB.DAL{    /// <summary>    ///     /// </summary>    public class SqlHelper    {        /// <summary>        ///         /// </summary>        private string strConnectionString = "";        /// <summary>        /// 连库类        /// </summary>        public static SqlConnection cnn;        /// <summary>        /// 执行类库        /// </summary>        public SqlCommand com;        /// <summary>        ///         /// </summary>        public SqlHelper()        {            string server = File.ReadAllText("ServerIP.txt");            strConnectionString = string.Format(@"Data Source={0};uid=aaaa;pwd=123456;database=HundredMIS", server);        }        /// <summary>        ///打开数据库连接        /// </summary>        public void Open()        {            if (cnn == null)            {                cnn = new SqlConnection(strConnectionString);            }            if (cnn.State == ConnectionState.Closed)            {                try                {                    cnn.Open();                }                catch (Exception ex)                {                    throw new Exception(ex.Message);                }            }        }        /// <summary>        /// 关闭数据库连接        /// </summary>        public void close()        {            if (cnn != null)            {                if (cnn.State == ConnectionState.Open)                {                    cnn.Close();                }            }        }        /// <summary>        /// 释放资源        /// </summary>        public void Dispose()        {            // 确认连接是否已经关闭            if (cnn != null)            {                cnn.Dispose();                cnn = null;            }        }        /// <summary>        /// 返回影响行数        /// </summary>        /// <param name="query"></param>        /// <returns></returns>        public int ExecuteNonQuery(string query)        {            cnn = new SqlConnection(strConnectionString);            SqlCommand cmd = new SqlCommand(query, cnn);            if (query.StartsWith("INSERT") | query.StartsWith("insert") | query.StartsWith("UPDATE") | query.StartsWith("update") | query.StartsWith("DELETE") | query.StartsWith("delete"))            {                cmd.CommandType = CommandType.Text;            }            else            {                cmd.CommandType = CommandType.StoredProcedure;            }            int retval;            try            {                cnn.Open();                retval = cmd.ExecuteNonQuery();            }            catch (Exception exp)            {                throw exp;            }            finally            {                if (cnn.State == ConnectionState.Open)                {                    cnn.Close();                }            }            return retval;        }        /// <summary>        /// 返回影响行数        /// </summary>        /// <param name="query"></param>        /// <param name="parameters"></param>        /// <returns></returns>        public int ExecuteNonQuery(string query, params SqlParameter[] parameters)        {            cnn = new SqlConnection(strConnectionString);            SqlCommand cmd = new SqlCommand(query, cnn);            if (query.StartsWith("INSERT") | query.StartsWith("insert") | query.StartsWith("UPDATE") | query.StartsWith("update") | query.StartsWith("DELETE") | query.StartsWith("delete"))            {                cmd.CommandType = CommandType.Text;            }            else            {                cmd.CommandType = CommandType.StoredProcedure;            }            for (int i = 0; i <= parameters.Length - 1; i++)            {                cmd.Parameters.Add(parameters[i]);            }            cnn.Open();            int retval = cmd.ExecuteNonQuery();            cnn.Close();            return retval;        }        /// <summary>        /// 查询第一行第一列        /// </summary>        /// <param name="query"></param>        /// <param name="parameters"></param>        /// <returns></returns>        public object ExecuteScalar(string query)        {            cnn = new SqlConnection(strConnectionString);            SqlCommand cmd = new SqlCommand(query, cnn);            if (query.StartsWith("SELECT") | query.StartsWith("select"))            {                cmd.CommandType = CommandType.Text;            }            else            {                cmd.CommandType = CommandType.StoredProcedure;            }            cnn.Open();            object retval = cmd.ExecuteScalar();            cnn.Close();            return retval;        }        public object ExecuteScalar(string query, params SqlParameter[] parameters)        {            cnn = new SqlConnection(strConnectionString);            SqlCommand cmd = new SqlCommand(query, cnn);            if (query.StartsWith("SELECT") | query.StartsWith("select"))            {                cmd.CommandType = CommandType.Text;            }            else            {                cmd.CommandType = CommandType.StoredProcedure;            }            for (int i = 0; i <= parameters.Length - 1; i++)            {                cmd.Parameters.Add(parameters[i]);            }            cnn.Open();            object retval = cmd.ExecuteScalar();            cnn.Close();            return retval;        }        /// <summary>        /// 使用Select查询,返回SqlDataReader类型        /// </summary>        /// <param name="query">查询命令</param>        /// <returns></returns>        public SqlDataReader ExecuteReader(string query)        {            cnn = new SqlConnection(strConnectionString);            SqlCommand cmd = new SqlCommand(query, cnn);            if (query.StartsWith("SELECT") | query.StartsWith("select"))            {                cmd.CommandType = CommandType.Text;            }            else            {                cmd.CommandType = CommandType.StoredProcedure;                cnn.Open();            }            SqlDataReader dr;            try            {                dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);                return dr;            }            catch (Exception ee)            {                cnn.Close();                throw ee;            }        }        /// <summary>        /// 使用存储过程查询,返回SqlDataReader类型        /// </summary>        /// <param name="query">存储过程名</param>        /// <param name="parameters"></param>        /// <returns></returns>        public SqlDataReader ExecuteReader(string query, params SqlParameter[] parameters)        {            cnn = new SqlConnection(strConnectionString);            SqlCommand cmd = new SqlCommand(query, cnn);            if (query.StartsWith("SELECT") | query.StartsWith("select"))            {                cmd.CommandType = CommandType.Text;            }            else            {                cmd.CommandType = CommandType.StoredProcedure;            }            for (int i = 0; i <= parameters.Length - 1; i++)            {                cmd.Parameters.Add(parameters[i]);            }            cnn.Open();            return cmd.ExecuteReader(CommandBehavior.CloseConnection);        }        /// <summary>        /// 使用Select查询,返回DataSet类型        /// </summary>        /// <param name="query">查询命令</param>        /// <returns></returns>        public DataSet ExecuteDataSet(string query)        {            cnn = new SqlConnection(strConnectionString);            SqlCommand cmd = new SqlCommand(query, cnn);            if (query.StartsWith("SELECT") | query.StartsWith("select"))            {                cmd.CommandType = CommandType.Text;            }            else            {                cmd.CommandType = CommandType.StoredProcedure;            }            SqlDataAdapter da = new SqlDataAdapter();            da.SelectCommand = cmd;            DataSet ds = new DataSet();            da.Fill(ds);            return ds;        }        /// <summary>        /// 使用存储过程查询,返回DataSet类型        /// </summary>        /// <param name="query">存储过程名</param>        /// <param name="parameters"></param>        /// <returns></returns>        public DataSet ExecuteDataSet(string query, params SqlParameter[] parameters)        {            cnn = new SqlConnection(strConnectionString);            SqlCommand cmd = new SqlCommand(query, cnn);            if (query.StartsWith("SELECT") | query.StartsWith("select"))            {                cmd.CommandType = CommandType.Text;            }            else            {                cmd.CommandType = CommandType.StoredProcedure;            }            for (int i = 0; i <= parameters.Length - 1; i++)            {                cmd.Parameters.Add(parameters[i]);            }            SqlDataAdapter da = new SqlDataAdapter();            da.SelectCommand = cmd;            DataSet ds = new DataSet();            da.Fill(ds);            return ds;        }    }}

原创粉丝点击