sqlhelperクラスの書き方


SQLhelperクラスのまとめ
  • 内容は主に2つの内容を記述している.1つは、データベースの「削除」操作を記述することです.もちろん、それらの操作が最終的にデータベースに影響を与えるかどうか、つまりデータベースに影響を与える行数を返すだけです.2つ目は、データベースに対するクエリー操作を記述し、フロントで使用できるように適切なタイプのデータを返すことです.
  • パラメータの新しい式から見ると、主にパラメータとパラメータを持たない「追加削除変更」がある.
  • 
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;//        web.config     
    
    namespace DAL
    {
        public class SQLHelper
        {
            private SqlConnection conn = null;
            private SqlCommand cmd = null;
            private SqlDataReader sdr = null;
            public SQLHelper()
            {
                //  web.config  <connectionStrings/>        ,           DAL     
                string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
                conn = new SqlConnection(connStr);
    
            }
            private SqlConnection GetConn()
            {
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
    
                return conn;
            }
    
    
    
            /// <summary>
            ///              
            /// </summary>
            /// <param name="sql">sql      </param>
            /// <returns>           </returns>
            public int ExecuteNonQuery(string cmdText, CommandType ct)
            {
                int res;
                try
                {
                    SqlCommand cmd = new SqlCommand(cmdText, GetConn());
                    cmd.CommandType = ct;
                    res = cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
    
                    throw ex;
                }
                finally
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
    
                    }
    
                }
    
                return res;
    
            }
    
    
            /// <summary>
            ///   sql    :    c')delete category where id=5--
            ///       sql     
            /// </summary>
            /// <param name="sql">sql        </param>
            /// <param name="paras">sqlParameter    </param>
            /// <returns></returns>
            public int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct)
            {
    
                int res;
                using (cmd = new SqlCommand(cmdText, GetConn()))
                {
                    // cmd.Parameters.Add("@caName", "    c')delete category where id=2--");
                    // cmd.Parameters.AddRange(new SqlParameter[]{
                    // new SqlParameter("@caName", "    ")});
                    cmd.CommandType = ct;
                    cmd.Parameters.AddRange(paras);
                    res = cmd.ExecuteNonQuery();
                }
                return res;
            }
    
            /// <summary>
            ///          sql          
            /// </summary>
            /// <param name="sql">sql           </param>
            /// <returns>datatable</returns>
            public DataTable ExecuteQuery(string cmdText, CommandType ct)
            {
                DataTable dt = new DataTable();
                SqlCommand cmd = new SqlCommand(cmdText, GetConn());
                cmd.CommandType = ct;
                using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
    
                    dt.Load(sdr);
                }
    
    
                return dt;
    
            }
    
            /// <summary>
            ///       sql         
            /// </summary>
            /// <param name="sql">sql          </param>
            /// <param name="paras">    </param>
            /// <returns></returns>
            public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct)
            {
                DataTable dt = new DataTable();
                cmd = new SqlCommand(cmdText, GetConn());
                cmd.CommandType = ct;
                cmd.Parameters.AddRange(paras);
                using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
    
                    dt.Load(sdr);
                }
    
    
                return dt;
    
            }
            /*
            /// <summary>
            ///        
            /// </summary>
            /// <param name="procName">      </param>
            /// <returns></returns>
    
            public DataTable Test(string procName)
            {
                DataTable dt = new DataTable();
                cmd = new SqlCommand(procName, GetConn());
                cmd.CommandType = CommandType.StoredProcedure;
                using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
    
                    dt.Load(sdr);
                }
    
    
                return dt;
    
            }
             */
    
    
        }
    }