C# DBHelper筆記

 

 

 

版本1:

 

    public class DBHelper
    {
        private static SqlConnection con;
        private static SqlConnection Con
        {
            get
            {
                if (con == null)
                {
                    con = new SqlConnection("server=.;database=BookShop;uid=sa;pwd=sa");
                    con.Open();
                }
                else if (con.State == ConnectionState.Broken)
                {
                    con.Close();
                    con.Open();
                }
                else if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }
                return con;
            }
        }
        private static SqlCommand Com
        {
            get
            {
                return Con.CreateCommand();
            }
        }

        public static bool Update(string sql)
        {
            SqlCommand cmd = Com;
            cmd.CommandText = sql;
            return cmd.ExecuteNonQuery() > 0;
        }
        public static bool Update(string sql, SqlParameter[] pars)
        {
            SqlCommand cmd = Com;
            cmd.CommandText = sql;
            cmd.Parameters.AddRange(pars);
            return cmd.ExecuteNonQuery() > 0;
        }
        public static object SelectForScalar(string sql)
        {
            SqlCommand cmd = Com;
            cmd.CommandText = sql;
            return cmd.ExecuteScalar();
        }
        public static object SelectForScalar(string sql, SqlParameter[] pars)
        {
            SqlCommand cmd = Com;
            cmd.CommandText = sql;
            cmd.Parameters.AddRange(pars);
            return cmd.ExecuteScalar();
        }
        public static SqlDataReader DataReader(string sql)
        {
            SqlCommand cmd = Com;
            cmd.CommandText = sql;
            return cmd.ExecuteReader();
        }
        public static SqlDataReader DataReader(string sql, SqlParameter[] pars)
        {
            SqlCommand cmd = Com;
            cmd.CommandText = sql;
            cmd.Parameters.AddRange(pars);
            return cmd.ExecuteReader();
        }
        public static DataTable DataTable(string sql)
        {
            SqlCommand cmd = Com;
            cmd.CommandText = sql;
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable ta = new DataTable();
            da.Fill(ta);
            return ta;
        }
        public static DataTable DataTable(string sql, SqlParameter[] pars)
        {
            SqlCommand cmd = Com;
            cmd.CommandText = sql;
            cmd.Parameters.AddRange(pars);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable ta = new DataTable();
            da.Fill(ta);
            return ta;
        }
        public static bool ExcuteForProc(string ProcName, SqlParameter[] pars)
        {
            SqlCommand cmd = Com;
            cmd.CommandText = ProcName;
            cmd.Parameters.AddRange(pars);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter values = new SqlParameter("@values", SqlDbType.Int);
            values.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(values);
            cmd.ExecuteNonQuery();
            if ((int)values.Value == 0)
                return true;
            return false;
        }
        public static DataSet ExcuteDataSat(string ProcName, SqlParameter[] pars, out bool isDone)
        {
            SqlCommand cmd = Com;
            cmd.CommandText = ProcName;
            cmd.Parameters.AddRange(pars);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter values = new SqlParameter("@values", SqlDbType.Int);
            values.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(values);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            if ((int)values.Value == 0)
                isDone = true;
            isDone = false;
            return ds;
        }
    }


 

發佈了85 篇原創文章 · 獲贊 20 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章