主頁(yè) > 知識(shí)庫(kù) > ASP.NET對(duì)SQLServer的通用數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)

ASP.NET對(duì)SQLServer的通用數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)

熱門(mén)標(biāo)簽:遂寧市地圖標(biāo)注app 地圖標(biāo)注的公司有哪些 濮陽(yáng)外呼電銷(xiāo)系統(tǒng)怎么樣 代理接電話機(jī)器人如何取消 400電話辦理哪家性?xún)r(jià)比高 地圖標(biāo)注專(zhuān)業(yè)團(tuán)隊(duì) 塔城代理外呼系統(tǒng) 地圖定位圖標(biāo)標(biāo)注 天心智能電銷(xiāo)機(jī)器人

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

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

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

標(biāo)簽:河南 汕頭 婁底 重慶 本溪 宜春 吉林 麗江

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