DBHelper

using System;
using System.Collections.Generic;
using System.Text;

using System.Data.SqlClient;
using System.Data;
namespace MyQQ
{
    class DBHelper
    {
        //連接字符串
        private static string strConnection = @"server=127.0.0.1;database=company;uid=sa;pwd=sodi";
        private static SqlConnection connection;

        //Connection屬性
        public static SqlConnection Connection
        {
            get
            {
                if (connection == null)//判斷是否爲空
                {
                    connection = new SqlConnection(strConnection);
                    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;
            }
        }

        /// <summary>
        /// 用於執行表的增加,刪除,修改操作
        /// </summary>
        /// <param name="sql">拼寫完整的SQL</param>
        /// <returns>執行Sql後受影響的行數</returns>
        public static int ExecuteNonQuery(string sql)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = sql;
            cmd.Connection = Connection;
            int result = cmd.ExecuteNonQuery();
            Connection.Close();
            return result;
        }

        /// <summary>
        /// 用於執行表的增加,刪除,修改操作
        /// </summary>
        /// <param name="sql">帶參數的SQL語句</param>
        /// <param name="pars">SQL中需要的參數數組</param>
        /// <returns>受影響的行數</returns>
        public static int ExecuteNonQuery(string sql, params SqlParameter[] pars)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = sql;
            cmd.Parameters.AddRange(pars);
            cmd.Connection = Connection;
            int result = cmd.ExecuteNonQuery();
            Connection.Close();
            return result;
        }

        /// <summary>
        /// 執行查詢
        /// </summary>
        /// <param name="sql">拼寫完整的SQL</param>
        /// <returns>DataReader</returns>
        public static SqlDataReader GetDataReader(string sql)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = sql;
            cmd.Connection = Connection;
            SqlDataReader dr = cmd.ExecuteReader();
            return dr;
        }

        ///
        ///
        ///
        ///
        public static SqlDataReader GetDataReader(string sql, params SqlParameter[] pars)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = sql;
            cmd.Parameters.AddRange(pars);
            cmd.Connection = Connection;
            int dr = cmd.ExecuteReader();
            return dr;
        }
     
        /// <summary>
        /// 執行查詢
        /// </summary>
        /// <param name="sql">拼寫完整的SQL</param>
        /// <returns>DataTable</returns>
        public static DataTable GetDataTable(string sql)
        {
            SqlDataAdapter da = new SqlDataAdapter(sql, Connection);
            DataTable dt = new DataTable();
            da.Fill(dt);
            Connection.Close();
            return dt;
        }

        /// <summary>
        /// 執行查詢
        /// </summary>
        /// <param name="sql">帶參數的SQL</param>
        /// <param name="pars">SQL中需要的參數數組</param>
        /// <returns>DataTable</returns>
        public static DataTable GetDataTable(string sql, params SqlParameter[] pars)
        {
            SqlDataAdapter da = new SqlDataAdapter();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = sql;
            cmd.Parameters.AddRange(pars);
            cmd.Connection = Connection;
            da.SelectCommand = cmd;

            DataTable dt = new DataTable();
            da.Fill(dt);
            Connection.Close();
            return dt;
        }

        /// <summary>
        /// 執行單值查詢
        /// </summary>
        /// <param name="sql">完整的SQL</param>
        /// <returns>返回第一行一列的值</returns>
        public static object GetScalar(string sql)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = sql;
            cmd.Connection = Connection;
            object obj = cmd.ExecuteScalar();
            return obj;
        }
    }
}
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章