主頁 > 知識庫 > ASP.NET對SQLServer的通用數(shù)據(jù)庫訪問類

ASP.NET對SQLServer的通用數(shù)據(jù)庫訪問類

熱門標簽:遂寧市地圖標注app 地圖標注的公司有哪些 濮陽外呼電銷系統(tǒng)怎么樣 代理接電話機器人如何取消 400電話辦理哪家性價比高 地圖標注專業(yè)團隊 塔城代理外呼系統(tǒng) 地圖定位圖標標注 天心智能電銷機器人

本文模仿實現(xiàn)數(shù)據(jù)庫訪問的通用類,代碼清晰,而且很實用,包括了對數(shù)據(jù)庫的所有的常用的操作。

  /// summary>
  /// 數(shù)據(jù)庫訪問通用類
  /// /summary>
  public class SqlHelper
  {
  private string connectionString;
  /// summary>
  /// 設定數(shù)據(jù)庫訪問字符串
  /// /summary>
  public string ConnectionString
  {
  set { connectionString = value; }
  }
  /// summary>
  /// 構(gòu)造函數(shù)
  /// /summary>
  /// param name="connectionString">數(shù)據(jù)庫訪問字符串/param>
  public SqlHelper(string connectionString)
  {
  this.connectionString = connectionString;
  }
  /// summary>
  /// 執(zhí)行一個查詢,并返回查詢結(jié)果
  /// /summary>
  /// param name="sql">要執(zhí)行的sql語句/param>
  /// param name="commandType">要執(zhí)行的查詢語句的類型,如存儲過程或者sql文本命令/param>
  /// returns>返回查詢結(jié)果集/returns>
  public DataTable ExecuteDataTable(string sql,CommandType commandType)
  {
  return ExecuteDataTable(sql, commandType, null);
  }
  /// summary>
  /// 執(zhí)行一個查詢,并返回結(jié)果集
  /// /summary>
  /// param name="sql">要執(zhí)行的sql文本命令/param>
  /// returns>返回查詢的結(jié)果集/returns>
  public DataTable ExecuteDataTable(string sql)
  {
  return ExecuteDataTable(sql, CommandType.Text, null);
  }
  /// summary>
  /// 執(zhí)行一個查詢,并返回查詢結(jié)果
  /// /summary>
  /// param name="sql">要執(zhí)行的sql語句/param>
  /// param name="commandtype">要執(zhí)行查詢語句的類型,如存儲過程或者sql文本命令/param>
  /// param name="parameters">Transact-SQL語句或者存儲過程參數(shù)數(shù)組/param>
  /// returns>/returns>
  public DataTable ExecuteDataTable(string sql, CommandType commandtype, SqlParameter[] parameters)
  {
  DataTable data = new DataTable(); //實例化datatable,用于裝載查詢結(jié)果集
  using (SqlConnection con = new SqlConnection(connectionString))
  {
  using (SqlCommand cmd = new SqlCommand(sql, con))
  {
  cmd.CommandType = commandtype;//設置command的commandType為指定的Commandtype
  //如果同時傳入了參數(shù),則添加這些參數(shù)
  if (parameters != null)
  {
  foreach (SqlParameter parameter in parameters)
  {
  cmd.Parameters.Add(parameter);
  }
  }
  //通過包含查詢sql的sqlcommand實例來實例化sqldataadapter
  SqlDataAdapter adapter = new SqlDataAdapter(cmd);
  adapter.Fill(data);//填充datatable
  }
  }
  return data;
  }
  /// summary>
  /// 返回一個SqlDataReader對象的實例
  /// /summary>
  /// param name="sql">要執(zhí)行的SQl查詢命令/param>
  /// returns>/returns>
  public SqlDataReader ExecuteReader(string sql)
  {
  return ExecuteReader(sql, CommandType.Text, null);
  }
  /// summary>
  ///
  /// /summary>
  /// param name="sql">要執(zhí)行的sql語句/param>
  /// param name="commandType">要執(zhí)行查詢語句的類型,如存儲過程或者SQl文本命令/param>
  /// returns>/returns>
  public SqlDataReader ExecuteReader(string sql,CommandType commandType)
  {
  return ExecuteReader(sql, commandType, null);
  }
  /// summary>
  /// 返回一個sqldatareader對象的實例
  /// /summary>
  /// param name="sql">/param>
  /// param name="commandType">/param>
  /// param name="parameters">/param>
  /// returns>/returns>
  public SqlDataReader ExecuteReader(string sql, CommandType commandType, SqlParameter[] parameters)
  {
  SqlConnection con = new SqlConnection(connectionString);
  SqlCommand cmd = new SqlCommand(sql, con);
  if (parameters != null)
  {
  foreach (SqlParameter parameter in parameters)
  {
  cmd.Parameters.Add(parameters);
  }
  }
  con.Open();
  //CommandBehavior.CloseConnection參數(shù)指示關閉reader對象時關閉與其關聯(lián)的Connection對象
  return cmd.ExecuteReader(CommandBehavior.CloseConnection);
  }
  /// summary>
  /// 執(zhí)行一個查詢,返回結(jié)果集的首行首列。忽略其他行,其他列
  /// /summary>
  /// param name="sql">要執(zhí)行的SQl命令/param>
  /// returns>/returns>
  public Object ExecuteScalar(string sql)
  {
  return ExecuteScalar(sql, CommandType.Text, null);
  }
  /// summary>
  ///
  /// /summary>
  /// param name="sql">/param>
  /// param name="commandType">/param>
  /// returns>/returns>
  public Object ExecuteScalar(string sql, CommandType commandType)
  {
  return ExecuteScalar(sql, commandType, null);
  }
  /// summary>
  ///
  /// /summary>
  /// param name="sql">/param>
  /// param name="commandType">參數(shù)類型/param>
  /// param name="parameters">/param>
  /// returns>/returns>
  public Object ExecuteScalar(string sql,CommandType commandType, SqlParameter[] parameters)
  {
  Object result=null;
  SqlConnection con=new SqlConnection(connectionString);
  SqlCommand cmd=new SqlCommand(sql,con);
  cmd.CommandType= commandType;
  if(parameters!=null)
  {
  foreach (SqlParameter parapmeter in parameters)
  {
  cmd.Parameters.Add(parapmeter);
  }
  }
  con.Open();
  result=cmd.ExecuteScalar();
  con.Close();
  return result;
  }
  /// summary>
  /// 對數(shù)據(jù)庫進行增刪改的操作
  /// /summary>
  /// param name="sql">要執(zhí)行的sql命令/param>
  /// returns>/returns>
  public int ExecuteNonQuery(string sql)
  {
  return ExecuteNonQuery(sql, CommandType.Text, null);
  }
  /// summary>
  /// 數(shù)據(jù)庫進行增刪改的操作
  /// /summary>
  /// param name="sql">對數(shù)據(jù)庫進行操作的sql命令/param>
  /// param name="commandType">要執(zhí)行查詢語句的類型,如存儲過程或者sql文本命令/param>
  /// returns>/returns>
  public int ExecuteNonQuery(string sql, CommandType commandType)
  {
  return ExecuteNonQuery(sql, commandType, null);
  }
  /// summary>
  /// 對數(shù)據(jù)庫進行增刪改的操作
  /// /summary>
  /// param name="sql">要執(zhí)行的sql語句/param>
  /// param name="commandType">要執(zhí)行的查詢語句類型,如存儲過程或者sql文本命令/param>
  /// param name="parameters">Transact-SQL語句或者存儲過程的參數(shù)數(shù)組/param>
  /// returns>/returns>
  public int ExecuteNonQuery(string sql, CommandType commandType, SqlParameter[] parameters)
  {
  int count = 0;
  SqlConnection con = new SqlConnection(connectionString);
  SqlCommand cmd = new SqlCommand(sql, con);
  cmd.CommandType = commandType;
  if (parameters != null)
  {
  foreach(SqlParameter parameter in parameters)
  {
  cmd.Parameters.Add(parameter);
  }
  }
  con.Open();
  count = cmd.ExecuteNonQuery();
  con.Close();
  return count;
  }
  /// summary>
  /// 返回當前連接的數(shù)據(jù)庫中所有用戶創(chuàng)建的數(shù)據(jù)庫
  /// /summary>
  /// returns>/returns>
  public DataTable GetTables()
  {
  DataTable table = null;
  using (SqlConnection con = new SqlConnection(connectionString))
  {
  con.Open();
  table = con.GetSchema("Tables");
  }
  return table;
  }
  }

    如果我們建立了一個對數(shù)據(jù)庫訪問的通用類以后,在隨數(shù)據(jù)庫進行操作的時候嗎,就只需要先實例化對象,然后根據(jù)自己的需要,調(diào)用相應的方法就可以完成對數(shù)據(jù)庫的所有操作。這就是數(shù)據(jù)庫訪問層和業(yè)務邏輯層分開的好處。
    這樣書寫的代碼,可以大大的減少我們代碼的復雜度,而且,繁瑣度也大大的降低了。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。

您可能感興趣的文章:
  • 一個ASP.NET的MYSQL的數(shù)據(jù)庫操作類自己封裝的
  • asp.net Oracle數(shù)據(jù)庫訪問操作類
  • asp.net下使用DbProviderFactories的數(shù)據(jù)庫操作類
  • asp.net下Oracle,SQL Server,Access萬能數(shù)據(jù)庫通用類
  • asp.net 數(shù)據(jù)庫連接類代碼(SQL)
  • asp.net 數(shù)據(jù)庫的連接和datatable類
  • ASP.NET封裝的SQL數(shù)據(jù)庫訪問類
  • ASP.NET web.config中數(shù)據(jù)庫連接字符串connectionStrings節(jié)的配置方法
  • asp.net連接查詢SQL數(shù)據(jù)庫并把結(jié)果顯示在網(wǎng)頁上(2種方法)
  • ASP.NET 6種常用數(shù)據(jù)庫的連接方法
  • ASP.NET2.0 SQL Server數(shù)據(jù)庫連接詳解
  • Asp.net把圖片存入數(shù)據(jù)庫和讀取圖片的方法
  • ASP.NET數(shù)據(jù)庫操作類實例

標簽:河南 汕頭 婁底 重慶 本溪 宜春 吉林 麗江

巨人網(wǎng)絡通訊聲明:本文標題《ASP.NET對SQLServer的通用數(shù)據(jù)庫訪問類》,本文關鍵詞  ASP.NET,對,SQLServer,的,通用,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET對SQLServer的通用數(shù)據(jù)庫訪問類》相關的同類信息!
  • 本頁收集關于ASP.NET對SQLServer的通用數(shù)據(jù)庫訪問類的相關信息資訊供網(wǎng)民參考!
  • 推薦文章