欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2016年02月24日 15:49:49   投稿:lijiao  
這篇文章主要實(shí)現(xiàn)了ASP.NET對(duì)SQLServer的通用數(shù)據(jù)庫(kù)訪問(wèn)類

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

  /// <summary>
  /// 數(shù)據(jù)庫(kù)訪問(wèn)通用類
  /// </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è)查詢,并返回查詢結(jié)果
  /// </summary>
  /// <param name="sql">要執(zhí)行的sql語(yǔ)句</param>
  /// <param name="commandType">要執(zhí)行的查詢語(yǔ)句的類型,如存儲(chǔ)過(guò)程或者sql文本命令</param>
  /// <returns>返回查詢結(jié)果集</returns>
  public DataTable ExecuteDataTable(string sql,CommandType commandType)
  {
  return ExecuteDataTable(sql, commandType, null);
  }
  /// <summary>
  /// 執(zhí)行一個(gè)查詢,并返回結(jié)果集
  /// </summary>
  /// <param name="sql">要執(zhí)行的sql文本命令</param>
  /// <returns>返回查詢的結(jié)果集</returns>
  public DataTable ExecuteDataTable(string sql)
  {
  return ExecuteDataTable(sql, CommandType.Text, null);
  }
  /// <summary>
  /// 執(zhí)行一個(gè)查詢,并返回查詢結(jié)果
  /// </summary>
  /// <param name="sql">要執(zhí)行的sql語(yǔ)句</param>
  /// <param name="commandtype">要執(zhí)行查詢語(yǔ)句的類型,如存儲(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,用于裝載查詢結(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ò)包含查詢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查詢命令</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í)行查詢語(yǔ)句的類型,如存儲(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è)查詢,返回結(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>
  /// 對(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í)行查詢語(yǔ)句的類型,如存儲(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í)行的查詢語(yǔ)句類型,如存儲(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ù)中所有用戶創(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)的通用類以后,在隨數(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í)有所幫助。

相關(guān)文章

  • uniapp+.net?core實(shí)現(xiàn)微信小程序獲取手機(jī)號(hào)功能

    uniapp+.net?core實(shí)現(xiàn)微信小程序獲取手機(jī)號(hào)功能

    這篇文章主要介紹了uniapp+.net?core實(shí)現(xiàn)微信小程序獲取手機(jī)號(hào)功能,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • 詳解.NET6下的Modbus通訊和數(shù)據(jù)庫(kù)記錄

    詳解.NET6下的Modbus通訊和數(shù)據(jù)庫(kù)記錄

    本文主要介紹了.NET6下的Modbus通訊和數(shù)據(jù)庫(kù)記錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • WCF中使用nettcp協(xié)議進(jìn)行通訊的方法

    WCF中使用nettcp協(xié)議進(jìn)行通訊的方法

    這篇文章主要給大家介紹了關(guān)于WCF中使用nettcp協(xié)議進(jìn)行通訊的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用WCF具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • asp.net web頁(yè)面自定義分頁(yè)控件使用詳解

    asp.net web頁(yè)面自定義分頁(yè)控件使用詳解

    這篇文章主要為大家詳細(xì)介紹了asp.net web頁(yè)面自定義分頁(yè)控件使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • ASP.NET Cookie是怎么生成的(推薦)

    ASP.NET Cookie是怎么生成的(推薦)

    這篇文章主要介紹了ASP.NET Cookie是怎么生成的,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • asp.net自定義控件中注冊(cè)Javascript問(wèn)題解決方案

    asp.net自定義控件中注冊(cè)Javascript問(wèn)題解決方案

    這篇文章主要介紹了asp.net自定義控件中注冊(cè)Javascript的問(wèn)題,需要的朋友可以參考下
    2014-05-05
  • 詳解在Azure上部署Asp.NET Core Web App

    詳解在Azure上部署Asp.NET Core Web App

    這篇文章主要介紹了詳解在Azure上部署Asp.NET Core Web App,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • 如何在ASP.NET Core中給上傳圖片功能添加水印實(shí)例代碼

    如何在ASP.NET Core中給上傳圖片功能添加水印實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于如何在ASP.NET Core中給上傳圖片功能添加水印的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • 使用Lable控件輸出九九乘法表

    使用Lable控件輸出九九乘法表

    這篇文章主要為大家詳細(xì)介紹了使用Lable控件輸出九九乘法表,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 在Framework4.0中實(shí)現(xiàn)延遲加載的實(shí)現(xiàn)方法

    在Framework4.0中實(shí)現(xiàn)延遲加載的實(shí)現(xiàn)方法

    延遲加載,亦稱延遲實(shí)例化,延遲初始化等,主要表達(dá)的思想是,把對(duì)象的創(chuàng)建將會(huì)延遲到使用時(shí)創(chuàng)建,而不是在對(duì)象實(shí)例化時(shí)創(chuàng)建對(duì)象,即用時(shí)才加載。
    2011-08-08

最新評(píng)論