這篇文章主要為大家展示了“ASP.NET之數(shù)據(jù)訪問類的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“ASP.NET之數(shù)據(jù)訪問類的示例分析”這篇文章吧。
公司主營業(yè)務:網(wǎng)站設計、成都網(wǎng)站設計、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出劍閣免費做網(wǎng)站回饋大家。
using System; using System.Data; using System.Data.SqlClient; namespace SysClassLibrary { ////// DataAccess 的摘要說明。 /// public class DataAccess { #region 屬性 protected static SqlConnection conn=new SqlConnection(); protected static SqlCommand comm=new SqlCommand(); #endregion public DataAccess() { //init(); } #region 內(nèi)部函數(shù) 靜態(tài)方法中不會執(zhí)行DataAccess()構(gòu)造函數(shù) ///數(shù)據(jù)處理基類,調(diào)用方式:DataAccess.DataSet((string)sqlstr);或者DataAccess.DataSet((string)sqlstr,ref DataSet ds); ////// 打開數(shù)據(jù)庫連接 /// private static void openConnection() { if (conn.State == ConnectionState.Closed) { //SysConfig.ConnectionString 為系統(tǒng)配置類中連接字符串,如:"server=localhost;database=databasename;uid=sa;pwd=;" conn.ConnectionString = SysConfig.ConnectionString ; comm.Connection =conn; try { conn.Open(); } catch(Exception e) { throw new Exception(e.Message); } } } ////// 關(guān)閉當前數(shù)據(jù)庫連接 /// private static void closeConnection() { if(conn.State == ConnectionState.Open) conn.Close(); conn.Dispose(); comm.Dispose(); } #endregion ////// 執(zhí)行Sql查詢語句 /// /// 傳入的Sql語句 public static void ExecuteSql(string sqlstr) { try { openConnection(); comm.CommandType =CommandType.Text ; comm.CommandText =sqlstr; comm.ExecuteNonQuery(); } catch(Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } } ////// 執(zhí)行存儲過程 /// /// 存儲過程名 /// SqlParameters 集合 public static void ExecutePorcedure(string procName,SqlParameter[] coll) { try { openConnection(); for(int i=0;i/// 執(zhí)行存儲過程并返回數(shù)據(jù)集 /// /// 存儲過程名稱 /// SqlParameter集合 /// DataSet public static void ExecutePorcedure(string procName,SqlParameter[] coll,ref DataSet ds) { try { SqlDataAdapter da=new SqlDataAdapter(); openConnection(); for(int i=0;i /// 執(zhí)行Sql查詢語句并返回第一行的第一條記錄,返回值為object 使用時需要拆箱操作 -> Unbox /// /// 傳入的Sql語句 /// object 返回值 public static object ExecuteScalar(string sqlstr) { object obj=new object(); try { openConnection(); comm.CommandType =CommandType.Text ; comm.CommandText =sqlstr; obj=comm.ExecuteScalar(); } catch(Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } return obj; } ////// 執(zhí)行Sql查詢語句,同時進行事務處理 /// /// 傳入的Sql語句 public static void ExecuteSqlWithTransaction(string sqlstr) { SqlTransaction trans ; trans=conn.BeginTransaction(); comm.Transaction =trans; try { openConnection(); comm.CommandType =CommandType.Text ; comm.CommandText =sqlstr; comm.ExecuteNonQuery(); trans.Commit(); } catch { trans.Rollback(); } finally { closeConnection(); } } ////// 返回指定Sql語句的SqlDataReader,請注意,在使用后請關(guān)閉本對象,同時將自動調(diào)用closeConnection()來關(guān)閉數(shù)據(jù)庫連接 /// 方法關(guān)閉數(shù)據(jù)庫連接 /// /// 傳入的Sql語句 ///SqlDataReader對象 public static SqlDataReader dataReader(string sqlstr) { SqlDataReader dr=null; try { openConnection(); comm.CommandText =sqlstr; comm.CommandType =CommandType.Text ; dr=comm.ExecuteReader(CommandBehavior.CloseConnection); } catch { try { dr.Close(); closeConnection(); } catch { } } return dr; } ////// 返回指定Sql語句的SqlDataReader,請注意,在使用后請關(guān)閉本對象,同時將自動調(diào)用closeConnection()來關(guān)閉數(shù)據(jù)庫連接 /// 方法關(guān)閉數(shù)據(jù)庫連接 /// /// 傳入的Sql語句 /// 傳入的ref DataReader 對象 public static void dataReader(string sqlstr,ref SqlDataReader dr) { try { openConnection(); comm.CommandText =sqlstr; comm.CommandType =CommandType.Text ; dr=comm.ExecuteReader(CommandBehavior.CloseConnection); } catch { try { if(dr!=null && !dr.IsClosed) dr.Close(); } catch { } finally { closeConnection(); } } } ////// 返回指定Sql語句的DataSet /// /// 傳入的Sql語句 ///DataSet public static DataSet dataSet(string sqlstr) { DataSet ds= new DataSet(); SqlDataAdapter da=new SqlDataAdapter(); try { openConnection(); comm.CommandType =CommandType.Text ; comm.CommandText =sqlstr; da.SelectCommand =comm; da.Fill(ds); } catch(Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } return ds; } ////// 返回指定Sql語句的DataSet /// /// 傳入的Sql語句 /// 傳入的引用DataSet對象 public static void dataSet(string sqlstr,ref DataSet ds) { SqlDataAdapter da=new SqlDataAdapter(); try { openConnection(); comm.CommandType =CommandType.Text ; comm.CommandText =sqlstr; da.SelectCommand =comm; da.Fill(ds); } catch(Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } } ////// 返回指定Sql語句的DataTable /// /// 傳入的Sql語句 ///DataTable public static DataTable dataTable(string sqlstr) { SqlDataAdapter da=new SqlDataAdapter(); DataTable datatable=new DataTable(); try { openConnection(); comm.CommandType =CommandType.Text ; comm.CommandText =sqlstr; da.SelectCommand =comm; da.Fill(datatable); } catch(Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } return datatable; } ////// 執(zhí)行指定Sql語句,同時給傳入DataTable進行賦值 /// /// 傳入的Sql語句 /// ref DataTable dt public static void dataTable(string sqlstr,ref DataTable dt) { SqlDataAdapter da=new SqlDataAdapter(); try { openConnection(); comm.CommandType =CommandType.Text ; comm.CommandText =sqlstr; da.SelectCommand =comm; da.Fill(dt); } catch(Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } } ////// 執(zhí)行帶參數(shù)存儲過程并返回數(shù)據(jù)集合 /// /// 存儲過程名稱 /// SqlParameterCollection 輸入?yún)?shù) ///public static DataTable dataTable(string procName,SqlParameterCollection parameters) { SqlDataAdapter da=new SqlDataAdapter(); DataTable datatable=new DataTable(); try { openConnection(); comm.Parameters.Clear(); comm.CommandType=CommandType.StoredProcedure ; comm.CommandText =procName; foreach(SqlParameter para in parameters) { SqlParameter p=(SqlParameter)para; comm.Parameters.Add(p); } da.SelectCommand =comm; da.Fill(datatable); } catch(Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } return datatable; } public static DataView dataView(string sqlstr) { SqlDataAdapter da=new SqlDataAdapter(); DataView dv=new DataView(); DataSet ds=new DataSet(); try { openConnection(); comm.CommandType=CommandType.Text; comm.CommandText =sqlstr; da.SelectCommand =comm; da.Fill(ds); dv=ds.Tables[0].DefaultView; } catch(Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } return dv; } } }
以上是“ASP.NET之數(shù)據(jù)訪問類的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!