通用數據訪問層--SQLServer版

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Web;
  5. using System.Web.Security;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. using System.Web.UI.WebControls.WebParts;
  9. using System.Web.UI.HtmlControls;
  10. using System.Data.SqlClient;
  11. /// <summary>
  12. /// DBmanager的摘要說明
  13. /// </summary>
  14. public class DBmanager
  15. {
  16.     private static readonly string sqlCon = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
  17.     protected static SqlConnection GetSqlconnection()//返回SqlConnection對象;
  18.     {
  19.         SqlConnection sqlcon = new SqlConnection(sqlCon);
  20.         return sqlcon;
  21.     }
  22.     //
  23.     // TODO:
  24.     /// <summary>
  25.     /// 檢測記錄是否存在
  26.     /// </summary>
  27.     /// <param name="CheckedField">被檢測的字段</param>
  28.     /// <param name="CheckedContent">字段的內容</param>
  29.     /// <param name="CheckedTable">被檢測的字段所在的表</param>
  30.     /// <returns>True:存在,False:不存在</returns>
  31.     public static bool IsExistRecord(string CheckedField, string CheckedContent, string CheckedTable)
  32.     {
  33.         string IsExistConditon = "where " + CheckedField + "=" + CheckedContent + "";
  34.         string IsExistSQL = "select " + CheckedField + " from " + CheckedTable + " " + IsExistConditon + "";
  35.         SqlDataReader myReader = Static_getDataReadBySql(IsExistSQL);
  36.         if (myReader.Read())
  37.         {
  38.             if (myReader != null) { myReader.Close(); }
  39.             return true;//存在
  40.         }
  41.         else
  42.         {
  43.             if (myReader != null) { myReader.Close(); }
  44.             return false;//不存在
  45.         }
  46.     }
  47.     /// <summary>
  48.     /// 根據SQL語句返回一個數據集對象
  49.     /// </summary>
  50.     /// <param name="Sqlcmd">要生成數據集對象的SqlCommand</param>
  51.     /// <returns>返回值:DataSet</returns>
  52.     public static DataSet Static_getDataSet(SqlCommand Sqlcmd)
  53.     {
  54.         //連接對象
  55.         SqlConnection sqlCon = GetSqlconnection();
  56.         //sql命令
  57.         Sqlcmd.Connection = sqlCon;
  58.         //適配器
  59.         SqlDataAdapter sqlData = new SqlDataAdapter();
  60.         sqlData.SelectCommand = Sqlcmd;
  61.         DataSet ds = new DataSet();
  62.         sqlData.Fill(ds);
  63.         return ds;
  64.     }
  65.     /// <summary>
  66.     /// 根據SQL語句返回一個數據集對象
  67.     /// </summary>
  68.     /// <param name="sqlstr">要生成數據集對象的string</param>
  69.     /// <returns>返回值:DataSet</returns>
  70.     public static DataSet Static_getDataSet(string sqlstr)
  71.     {
  72.         //連接對象
  73.         SqlConnection sqlCon = GetSqlconnection();
  74.         SqlCommand cmd = new SqlCommand();
  75.         cmd.CommandText = sqlstr;
  76.         //sql命令
  77.         cmd.Connection = sqlCon;
  78.         //適配器
  79.         SqlDataAdapter sqlData = new SqlDataAdapter();
  80.         sqlData.SelectCommand = cmd;
  81.         DataSet ds = new DataSet();
  82.         sqlData.Fill(ds);
  83.         return ds;
  84.     }
  85.     /// <summary>
  86.     /// 根據SQL語句返回一個數據集對象
  87.     /// </summary>
  88.     /// <param name="sqlstr">要生成數據集對象的string</param>
  89.     /// <param name="tbname">指定返回數據集的表名稱</param>
  90.     /// <returns>返回值:DataSet</returns>
  91.     public static DataSet Static_getDataSet(string sqlstr, string tbname)
  92.     {
  93.         //連接對象
  94.         SqlConnection sqlCon = GetSqlconnection();
  95.         SqlCommand cmd = new SqlCommand();
  96.         cmd.CommandText = sqlstr;
  97.         //sql命令
  98.         cmd.Connection = sqlCon;
  99.         //適配器
  100.         SqlDataAdapter sqlData = new SqlDataAdapter();
  101.         sqlData.SelectCommand = cmd;
  102.         DataSet ds = new DataSet();
  103.         sqlData.Fill(ds, tbname);
  104.         return ds;
  105.     }
  106.     /// <summary>
  107.     /// 根據SQL語句返回一個數據視圖對象
  108.     /// </summary>
  109.     /// <param name="Sqlcmd">要生成數據集對象的SqlCommand</param>
  110.     /// <returns>返回值:DataView</returns>
  111.     public static DataView Static_getDataView(SqlCommand Sqlcmd)
  112.     {
  113.         //連接對象
  114.         SqlConnection sqlCon = GetSqlconnection();
  115.         //sql命令
  116.         Sqlcmd.Connection = sqlCon;
  117.         //適配器
  118.         SqlDataAdapter sqlData = new SqlDataAdapter();
  119.         sqlData.SelectCommand = Sqlcmd;
  120.         DataSet ds = new DataSet();
  121.         sqlData.Fill(ds);
  122.         return ds.Tables[0].DefaultView;
  123.     }
  124.     /// <summary>
  125.     /// 根據SqlCommand對象的實例返回SqlDataAdapter對象
  126.     /// </summary>
  127.     /// <param name="Sqlcmd">SqlCommand對象</param>
  128.     /// <returns>SqlDataAdapter SqlDataAdapter對象的實例</returns>
  129.     public static SqlDataAdapter Static_getDataAdapter(SqlCommand Sqlcmd)
  130.     {
  131.         //連接對象
  132.         SqlConnection sqlCon = GetSqlconnection();
  133.         //sql命令
  134.         Sqlcmd.Connection = sqlCon;
  135.         //適配器
  136.         SqlDataAdapter sqlData = new SqlDataAdapter();
  137.         sqlData.SelectCommand = Sqlcmd;
  138.         return sqlData;
  139.     }
  140.     /// <summary>
  141.     /// 根據傳遞過來的參數返回一個數據讀對象
  142.     /// </summary>
  143.     /// <param name="strSql">String SQL語句</param>
  144.     /// <returns>SqlDataReader SqlDataReader對象的實例</returns>
  145.     public static SqlDataReader Static_getDataReadBySql(string strSql)
  146.     {
  147.         //連接對象
  148.         SqlConnection sqlCon = GetSqlconnection();
  149.         //sql命令
  150.         SqlCommand sqlCmd = new SqlCommand();
  151.         sqlCmd.CommandType = CommandType.Text;
  152.         sqlCmd.CommandText = strSql;
  153.         sqlCmd.Connection = sqlCon;
  154.         //
  155.         sqlCon.Open();
  156.         SqlDataReader sqlRead = sqlCmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
  157.         //sqlCon.Close();
  158.         return sqlRead;
  159.     }
  160.     /// <summary>
  161.     /// 根據傳遞過來的參數返回一個數據讀對象
  162.     /// </summary>
  163.     /// <param name="Conn">SqlConnection 數據庫連接對象</param>
  164.     /// <param name="SQL">String SQL語句</param>
  165.     /// <returns>SqlDataReader SqlDataReader對象的實例</returns>
  166.     public static SqlDataReader Static_GetSqlDataReader(SqlConnection Conn, String Str_SQL)
  167.     {
  168.         //連接對象
  169.         SqlConnection sqlCon = Conn;
  170.         //sql命令
  171.         SqlCommand sqlCmd = new SqlCommand();
  172.         sqlCmd.CommandType = CommandType.Text;
  173.         sqlCmd.CommandText = Str_SQL;
  174.         sqlCmd.Connection = sqlCon;
  175.         //
  176.         sqlCon.Open();
  177.         SqlDataReader sqlRead = sqlCmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
  178.         //sqlCon.Close();
  179.         return sqlRead;
  180.     }
  181.     /// <summary>
  182.     /// 執行傳遞過來的SQL語句
  183.     /// </summary>
  184.     /// <param name="strSql">string 要執行的SQL語句</param>
  185.     public static void Static_excuteSql(string strSql)
  186.     {
  187.         //連接對象
  188.         SqlConnection sqlCon = GetSqlconnection();
  189.         //sql命令
  190.         SqlCommand sqlCmd = new SqlCommand();
  191.         sqlCmd.CommandType = CommandType.Text;
  192.         sqlCmd.CommandText = strSql;
  193.         sqlCmd.Connection = sqlCon;
  194.         sqlCon.Open();
  195.         sqlCmd.ExecuteNonQuery();
  196.         sqlCon.Close();
  197.     }
  198.     /// <summary>
  199.     /// 執行傳遞過來的SQL語句返回受影響的行數
  200.     /// </summary>
  201.     /// <param name="strSql">string 要執行的SQL語句</param>
  202.     /// <returns>int 受影響的行數</returns>
  203.     public static int Static_excuteNonQuerySqlCount(string strSql)
  204.     {
  205.         //連接對象
  206.         SqlConnection sqlCon = GetSqlconnection();
  207.         //sql命令
  208.         SqlCommand sqlCmd = new SqlCommand();
  209.         sqlCmd.CommandType = CommandType.Text;
  210.         sqlCmd.CommandText = strSql;
  211.         sqlCmd.Connection = sqlCon;
  212.         sqlCon.Open();
  213.         int i;
  214.         i = sqlCmd.ExecuteNonQuery();
  215.         sqlCon.Close();
  216.         return i;
  217.     }
  218.     /// <summary>
  219.     /// 執行傳遞過來的SQL語句
  220.     /// </summary>
  221.     /// <param name="strSql">string 要執行的SQL語句</param>
  222.     /// <returns>int 受影響的行數</returns>
  223.     public static object Static_excuteSqlCount(string strSql)
  224.     {
  225.         //連接對象
  226.         SqlConnection sqlCon = GetSqlconnection();
  227.         //sql命令
  228.         SqlCommand sqlCmd = new SqlCommand();
  229.         sqlCmd.CommandType = CommandType.Text;
  230.         sqlCmd.CommandText = strSql;
  231.         sqlCmd.Connection = sqlCon;
  232.         sqlCon.Open();
  233.         object obj;
  234.         obj = sqlCmd.ExecuteScalar();
  235.         sqlCon.Close();
  236.         return obj;
  237.     }
  238.     /// <summary>
  239.     /// 執行存儲過程返回數據集
  240.     /// </summary>
  241.     /// <param name="p_strProcName">存儲過程名稱</param>
  242.     /// <param name="cmdParams">存儲過程參數</param>
  243.     /// <returns>Dataset</returns>          
  244.     public static DataSet Static_ExcuteQueryDataByProc(string p_strProcName, SqlParameter[] cmdParams)
  245.     {
  246.         //連接對象
  247.         SqlConnection sqlCon = GetSqlconnection();
  248.         DataSet dsTemp = new DataSet();
  249.         SqlDataAdapter sqlAdapter = new SqlDataAdapter();
  250.         SqlCommand sqlCmd = new SqlCommand();
  251.         sqlCmd.CommandType = CommandType.StoredProcedure;
  252.         sqlCmd.CommandText = p_strProcName;
  253.         sqlCmd.Connection = sqlCon;
  254.         //添加參數
  255.         for (int i = 0; i < cmdParams.Length; i++)
  256.             sqlCmd.Parameters.Add(cmdParams[i]);
  257.         sqlAdapter.SelectCommand = sqlCmd;
  258.         sqlAdapter.Fill(dsTemp);
  259.         return dsTemp;
  260.     }
  261.     //
  262. }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章