国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
ASP.NET對(duì)SQLServer的通用數(shù)據(jù)庫(kù)訪問類
怎么說呢,作為程序員,我們明天都應(yīng)該學(xué)習(xí)新的知識(shí)。
以前我在對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的時(shí)候都是在同一頁(yè)面對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。這樣的話,就是操作繁瑣,而且需要重復(fù)的書寫對(duì)數(shù)據(jù)庫(kù)操作的代碼,這樣不僅浪費(fèi)了很多的時(shí)間,而且也使得代碼看起來非常的凌亂。至從接觸到了三層架構(gòu)的思想,明白了分層的好處,還有面向?qū)ο蟮暮锰帯=裉煸?a class="keylink" target="_blank">看書的時(shí)候,看到周金橋老師的對(duì)數(shù)據(jù)庫(kù)訪問的通用類,就試著模仿的寫了一個(gè),代碼清晰,而且很實(shí)用,包括了對(duì)數(shù)據(jù)庫(kù)的所有的常用的操作。
 
 
/// <summary>
   /// 數(shù)據(jù)庫(kù)訪問通用類
   /// </summary>
   public class SqlHelper
   {
       private string connectionString;
 
       /// <summary>
       /// 設(shè)定數(shù)據(jù)庫(kù)訪問字符串
       /// </summary>
       public string ConnectionString
       {
           
           set { connectionString = value; }
       }
 
       /// <summary>
       /// 構(gòu)造函數(shù)
       /// </summary>
       /// <param name="connectionString">數(shù)據(jù)庫(kù)訪問字符串</param>
       public SqlHelper(string connectionString)
       {
           this.connectionString = connectionString;
       }
 
       /// <summary>
       /// 執(zhí)行一個(gè)查詢,并返回查詢結(jié)果
       /// </summary>
       /// <param name="sql">要執(zhí)行的sql語句</param>
       /// <param name="commandType">要執(zhí)行的查詢語句的類型,如存儲(chǔ)過程或者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語句</param>
       /// <param name="commandtype">要執(zhí)行查詢語句的類型,如存儲(chǔ)過程或者sql文本命令</param>
       /// <param name="parameters">Transact-SQL語句或者存儲(chǔ)過程參數(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);
                       }
                   }
 
                   //通過包含查詢sql的sqlcommand實(shí)例來實(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語句</param>
       /// <param name="commandType">要執(zhí)行查詢語句的類型,如存儲(chǔ)過程或者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í)行查詢語句的類型,如存儲(chǔ)過程或者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語句</param>
       /// <param name="commandType">要執(zhí)行的查詢語句類型,如存儲(chǔ)過程或者sql文本命令</param>
       /// <param name="parameters">Transact-SQL語句或者存儲(chǔ)過程的參數(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ù)訪問的通用類以后,在隨數(shù)據(jù)庫(kù)進(jìn)行操作的時(shí)候嗎,就只需要先實(shí)例化對(duì)象,然后根據(jù)自己的需要,調(diào)用相應(yīng)的方法就可以完成對(duì)數(shù)據(jù)庫(kù)的所有操作。這就是數(shù)據(jù)庫(kù)訪問層和業(yè)務(wù)邏輯層分開的好處。
這樣書寫的代碼,可以大大的減少我們代碼的復(fù)雜度。而且,繁瑣度也大大的降低了。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Asp.Net 操作 Sqlserver通用類
數(shù)據(jù)庫(kù)操作通用類
C# DBHelper類 參考
SQLLite的使用
vs2010實(shí)際項(xiàng)目ASP.NET小試練_完整頁(yè)綠色軟件資訊
超級(jí)DBHelper,讓三層代碼冗余降低【原創(chuàng)博文】
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服