麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > .NET > 正文

ASP.NET對SQLServer的通用數據庫訪問類

2024-07-10 13:29:54
字體:
來源:轉載
供稿:網友
這篇文章主要實現了ASP.NET對SQLServer的通用數據庫訪問類
 

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

  /// <summary>  /// 數據庫訪問通用類  /// </summary>  public class SqlHelper  {  private string connectionString;  /// <summary>  /// 設定數據庫訪問字符串  /// </summary>  public string ConnectionString  {  set { connectionString = value; }  }  /// <summary>  /// 構造函數  /// </summary>  /// <param name="connectionString">數據庫訪問字符串</param>  public SqlHelper(string connectionString)  {  this.connectionString = connectionString;  }  /// <summary>  /// 執行一個查詢,并返回查詢結果  /// </summary>  /// <param name="sql">要執行的sql語句</param>  /// <param name="commandType">要執行的查詢語句的類型,如存儲過程或者sql文本命令</param>  /// <returns>返回查詢結果集</returns>  public DataTable ExecuteDataTable(string sql,CommandType commandType)  {  return ExecuteDataTable(sql, commandType, null);  }  /// <summary>  /// 執行一個查詢,并返回結果集  /// </summary>  /// <param name="sql">要執行的sql文本命令</param>  /// <returns>返回查詢的結果集</returns>  public DataTable ExecuteDataTable(string sql)  {  return ExecuteDataTable(sql, CommandType.Text, null);  }  /// <summary>  /// 執行一個查詢,并返回查詢結果  /// </summary>  /// <param name="sql">要執行的sql語句</param>  /// <param name="commandtype">要執行查詢語句的類型,如存儲過程或者sql文本命令</param>  /// <param name="parameters">Transact-SQL語句或者存儲過程參數數組</param>  /// <returns></returns>  public DataTable ExecuteDataTable(string sql, CommandType commandtype, SqlParameter[] parameters)  {  DataTable data = new DataTable(); //實例化datatable,用于裝載查詢結果集  using (SqlConnection con = new SqlConnection(connectionString))  {  using (SqlCommand cmd = new SqlCommand(sql, con))  {  cmd.CommandType = commandtype;//設置command的commandType為指定的Commandtype  //如果同時傳入了參數,則添加這些參數  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">要執行的SQl查詢命令</param>  /// <returns></returns>  public SqlDataReader ExecuteReader(string sql)  {  return ExecuteReader(sql, CommandType.Text, null);  }  /// <summary>  ///  /// </summary>  /// <param name="sql">要執行的sql語句</param>  /// <param name="commandType">要執行查詢語句的類型,如存儲過程或者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參數指示關閉reader對象時關閉與其關聯的Connection對象  return cmd.ExecuteReader(CommandBehavior.CloseConnection);  }  /// <summary>  /// 執行一個查詢,返回結果集的首行首列。忽略其他行,其他列  /// </summary>  /// <param name="sql">要執行的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">參數類型</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>  /// 對數據庫進行增刪改的操作  /// </summary>  /// <param name="sql">要執行的sql命令</param>  /// <returns></returns>  public int ExecuteNonQuery(string sql)  {  return ExecuteNonQuery(sql, CommandType.Text, null);  }  /// <summary>  /// 數據庫進行增刪改的操作  /// </summary>  /// <param name="sql">對數據庫進行操作的sql命令</param>  /// <param name="commandType">要執行查詢語句的類型,如存儲過程或者sql文本命令</param>  /// <returns></returns>  public int ExecuteNonQuery(string sql, CommandType commandType)  {  return ExecuteNonQuery(sql, commandType, null);  }  /// <summary>  /// 對數據庫進行增刪改的操作  /// </summary>  /// <param name="sql">要執行的sql語句</param>  /// <param name="commandType">要執行的查詢語句類型,如存儲過程或者sql文本命令</param>  /// <param name="parameters">Transact-SQL語句或者存儲過程的參數數組</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>  /// 返回當前連接的數據庫中所有用戶創建的數據庫  /// </summary>  /// <returns></returns>  public DataTable GetTables()  {  DataTable table = null;  using (SqlConnection con = new SqlConnection(connectionString))  {  con.Open();  table = con.GetSchema("Tables");  }  return table;  }  }

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

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



注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: xp123精品视频 | 毛片一区二区三区 | 国产成人精品二区 | 欧美一级做一级爱a做片性 久久久资源网 | 一起草av在线 | 91麻豆精品国产91久久久无需广告 | 国产精品久久久免费看 | 国产99久久久国产精品 | 久久影院国产精品 | 欧美一级高清片在线 | 午夜影视一区二区 | 成人免费在线视频 | 成人午夜视频在线观看免费 | 国产在线a | 国产精品一区二区视频 | 视频一区二区久久 | 我爱我色成人网 | 黄色免费高清网站 | 国产精品久久久久久久久久10秀 | 亚洲白嫩在线观看 | 亚洲第一综合 | 高清中文字幕在线 | 一级黄色毛片播放 | 99精品电影 | 一区二区三区日韩电影 | 欧美一级淫片免费播放口 | 久久国产午夜 | 一级裸体视频 | 亚洲二区不卡 | 手机av在线电影 | 亚洲视频欧美 | 亚洲精品一区二区三区大胸 | 久久99精品久久久久久小说 | 在线观看中文字幕av | 欧美第1页 | 日韩视频―中文字幕 | 一级黄色国产视频 | 国产一级毛片视频在线! | 无遮挡一级毛片视频 | 99视频网址 | 搜一级毛片 |