zoukankan      html  css  js  c++  java
  • DAL(数据库访问层)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;

    /// <summary>
    ///DBHelper 的摘要说明
    /// </summary>
    public static class DBHelper
    {
        public static SqlConnection conn;
        /// <summary>
        /// 获取连接对象
        /// </summary>
        public static SqlConnection Conn
        {
            get
            {
                //获取连接字符串
                string connectionString = ConfigurationManager.ConnectionStrings["connectionString"].ToString();
                if(conn == null)
                {//连接为空
                    conn = new SqlConnection(connectionString);
                    conn.Open();
                }else if(conn.State == System.Data.ConnectionState.Closed)
                {//连接状态为空
                    conn.Open();
                }else if(conn.State == System.Data.ConnectionState.Broken)
                {//连接断断续续(卡)
                    conn.Close();
                    conn.Open();
                }
                return conn;
            }
        }
        /// <summary>
        /// 执行,并返回影响的行数
        /// </summary>
        /// <returns></returns>
        public static int ExecuteCommand(string safesql)
        {
            SqlCommand cmd = new SqlCommand(safesql,conn);
            int result =  cmd.ExecuteNonQuery();
            return result;
        }
        /// <summary>
        /// 返回影响行数
        /// </summary>
        /// <param name="safesql"></param>
        /// <param name="pala"></param>
        /// <returns></returns>
        public static int ExectueCommand(string safesql,params SqlParameter[] pala)
    {
        SqlCommand cmd = new SqlCommand();
        cmd.Parameters.AddRange(pala);
        int result = cmd.ExecuteNonQuery();
        return result;
    }
        /// <summary>
        /// 执行查询返回查询得到的第一行第一列的对象
        /// </summary>
        /// <param name="safesql"></param>
        /// <returns></returns>
        public static string ReturnStringScalar(string safesql)
        {
            SqlCommand cmd = new SqlCommand(safesql,conn);
            try
            {
                string result = cmd.ExecuteScalar().ToString();
                return result;
            }
            catch
            {
                return "0";
            }
            finally
            {
                conn.Close();
            }
        }
        public static int GetScalar(string safesql)
        {
            SqlCommand cmd = new SqlCommand(safesql,conn);
            try
            {
                int result = Convert.ToInt32(cmd.ExecuteScalar());
                return result;
            }
            catch
            {
                return 0;
            }
            finally
            {
                conn.Close();
            }
        }
        /// <summary>
        /// 执行代码返回查询得到的第一行第一列的对象
        /// </summary>
        /// <param name="safesql"></param>
        /// <param name="pala"></param>
        /// <returns></returns>
        public static int GetScalar(string safesql,params SqlParameter[] pala)
        {
            SqlCommand cmd = new SqlCommand(safesql,conn);
            cmd.Parameters.AddRange(pala);
            int result = Convert.ToInt32(cmd.ExecuteScalar());
            return result;
        }
        /// <summary>
        /// 通过Sql语句返回SqlDataReader对象
        /// </summary>
        /// <returns></returns>
        public static SqlDataReader GetReader(string safesql)
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(safesql,conn);
            SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            return dr;
        }


        /// <summary>
        /// 通过Sql语句返回SqlDataReader对象
        /// </summary>
        /// <param name="safesql"></param>
        /// <param name="pala"></param>
        /// <returns></returns>
        public static SqlDataReader GetReader(string safesql,params SqlParameter[] pala)
        {

            SqlCommand cmd = new SqlCommand(safesql,conn);
            cmd.Parameters.AddRange(pala);
            SqlDataReader dr = cmd.ExecuteReader();
            return dr;
        }
        /// <summary>
        /// 通过Sql返回Table
        /// </summary>
        /// <param name="safesql"></param>
        /// <returns></returns>
        public static DataTable GetDataSet(string safesql)
        {
            DataSet ds = new DataSet();
            SqlCommand cmd = new SqlCommand(safesql,conn);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);
            return ds.Tables[0];
        }
        /// <summary>
        /// 通过Sql返回Table
        /// </summary>
        /// <param name="safesql"></param>
        /// <param name="pala"></param>
        /// <returns></returns>
        public static DataTable GetDataSet(string safesql,params SqlParameter[] pala)
        {
            DataSet ds = new DataSet();
            SqlCommand cmd = new SqlCommand(safesql,conn);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            cmd.Parameters.AddRange(pala);
            da.Fill(ds);
            return ds.Tables[0];
        }

        /// <summary>
        /// GetDataSet(方法)和该方法都一样,为了不浪费资源,建议使用该方法
        /// </summary>
        /// <param name="safesql"></param>
        /// <returns></returns>
        public static DataTable GetDataTable(string safesql)
        {
            SqlCommand cmd = new SqlCommand(safesql, conn);
            SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            DataTable dt = new DataTable();
            dt.Load(dr);
            dr.Close();
            return dt;
        }

    }

  • 相关阅读:
    [ARC080D] Prime Flip
    硬币游戏
    点分治
    OneInDark对众数的爱
    [CF838D] Airplane Arrangements
    网络流总结(转载)
    二分图最大权完美匹配(KM)
    网络流
    FWT
    FFT & NTT
  • 原文地址:https://www.cnblogs.com/scsuns520/p/1632999.html
Copyright © 2011-2022 走看看