ASP.NET之?dāng)?shù)據(jù)訪問(wèn)類的示例分析-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“ASP.NET之?dāng)?shù)據(jù)訪問(wèn)類的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“ASP.NET之?dāng)?shù)據(jù)訪問(wèn)類的示例分析”這篇文章吧。

創(chuàng)新互聯(lián)建站,為您提供成都網(wǎng)站建設(shè)公司成都網(wǎng)站制作、網(wǎng)站營(yíng)銷推廣、網(wǎng)站開(kāi)發(fā)設(shè)計(jì),對(duì)服務(wù)成都生料攪拌車等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
using System; 
using System.Data; 
using System.Data.SqlClient;  
namespace SysClassLibrary 
{ 
/// <summary> 
/// DataAccess 的摘要說(shuō)明。 
/// <description>數(shù)據(jù)處理基類,調(diào)用方式:DataAccess.DataSet((string)sqlstr);或者DataAccess.DataSet((string)sqlstr,ref DataSet ds); </description> 
/// </summary> 
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)方法中不會(huì)執(zhí)行DataAccess()構(gòu)造函數(shù) 
/// <summary> 
/// 打開(kāi)數(shù)據(jù)庫(kù)連接 
/// </summary> 
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); 
} 
} 
} 
/// <summary> 
/// 關(guān)閉當(dāng)前數(shù)據(jù)庫(kù)連接 
/// </summary> 
private static void closeConnection() 
{ 
if(conn.State == ConnectionState.Open) 
conn.Close(); 
conn.Dispose(); 
comm.Dispose(); 
} 
#endregion 
/// <summary> 
/// 執(zhí)行Sql查詢語(yǔ)句 
/// </summary> 
/// <param name="sqlstr">傳入的Sql語(yǔ)句</param> 
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(); 
} 
} 
/// <summary> 
/// 執(zhí)行存儲(chǔ)過(guò)程 
/// </summary> 
/// <param name="procName">存儲(chǔ)過(guò)程名</param> 
/// <param name="coll">SqlParameters 集合</param> 
public static void ExecutePorcedure(string procName,SqlParameter[] coll) 
{ 
try 
{ 
openConnection(); 
for(int i=0;i<coll.Length;i++) 
{ 
comm.Parameters .Add(coll); 
} 
comm.CommandType=CommandType.StoredProcedure ; 
comm.CommandText =procName; 
comm.ExecuteNonQuery(); 
} 
catch(Exception e) 
{ 
throw new Exception(e.Message); 
} 
finally 
{ 
comm.Parameters.Clear(); 
closeConnection(); 
} 
} 
/// <summary> 
/// 執(zhí)行存儲(chǔ)過(guò)程并返回?cái)?shù)據(jù)集 
/// </summary> 
/// <param name="procName">存儲(chǔ)過(guò)程名稱</param> 
/// <param name="coll">SqlParameter集合</param> 
/// <param name="ds">DataSet </param> 
public static void ExecutePorcedure(string procName,SqlParameter[] coll,ref DataSet ds) 
{ 
try 
{ 
SqlDataAdapter da=new SqlDataAdapter(); 
openConnection(); 
for(int i=0;i<coll.Length;i++) 
{ 
comm.Parameters .Add(coll); 
} 
comm.CommandType=CommandType.StoredProcedure ; 
comm.CommandText =procName; 
da.SelectCommand =comm; 
da.Fill(ds); 
} 
catch(Exception e) 
{ 
throw new Exception(e.Message); 
} 
finally 
{ 
comm.Parameters.Clear(); 
closeConnection(); 
} 
} 
/// <summary> 
/// 執(zhí)行Sql查詢語(yǔ)句并返回第一行的第一條記錄,返回值為object 使用時(shí)需要拆箱操作 -> Unbox 
/// </summary> 
/// <param name="sqlstr">傳入的Sql語(yǔ)句</param> 
/// <returns>object 返回值 </returns> 
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; 
} 
/// <summary> 
/// 執(zhí)行Sql查詢語(yǔ)句,同時(shí)進(jìn)行事務(wù)處理 
/// </summary> 
/// <param name="sqlstr">傳入的Sql語(yǔ)句</param> 
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(); 
} 
} 
/// <summary> 
/// 返回指定Sql語(yǔ)句的SqlDataReader,請(qǐng)注意,在使用后請(qǐng)關(guān)閉本對(duì)象,同時(shí)將自動(dòng)調(diào)用closeConnection()來(lái)關(guān)閉數(shù)據(jù)庫(kù)連接 
/// 方法關(guān)閉數(shù)據(jù)庫(kù)連接 
/// </summary> 
/// <param name="sqlstr">傳入的Sql語(yǔ)句</param> 
/// <returns>SqlDataReader對(duì)象</returns> 
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; 
} 
/// <summary> 
/// 返回指定Sql語(yǔ)句的SqlDataReader,請(qǐng)注意,在使用后請(qǐng)關(guān)閉本對(duì)象,同時(shí)將自動(dòng)調(diào)用closeConnection()來(lái)關(guān)閉數(shù)據(jù)庫(kù)連接 
/// 方法關(guān)閉數(shù)據(jù)庫(kù)連接 
/// </summary> 
/// <param name="sqlstr">傳入的Sql語(yǔ)句</param> 
/// <param name="dr">傳入的ref DataReader 對(duì)象</param> 
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(); 
} 
} 
} 
/// <summary> 
/// 返回指定Sql語(yǔ)句的DataSet 
/// </summary> 
/// <param name="sqlstr">傳入的Sql語(yǔ)句</param> 
/// <returns>DataSet</returns> 
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; 
} 
/// <summary> 
/// 返回指定Sql語(yǔ)句的DataSet 
/// </summary> 
/// <param name="sqlstr">傳入的Sql語(yǔ)句</param> 
/// <param name="ds">傳入的引用DataSet對(duì)象</param> 
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(); 
} 
} 
/// <summary> 
/// 返回指定Sql語(yǔ)句的DataTable 
/// </summary> 
/// <param name="sqlstr">傳入的Sql語(yǔ)句</param> 
/// <returns>DataTable</returns> 
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; 
} 
/// <summary> 
/// 執(zhí)行指定Sql語(yǔ)句,同時(shí)給傳入DataTable進(jìn)行賦值  
/// </summary> 
/// <param name="sqlstr">傳入的Sql語(yǔ)句</param> 
/// <param name="dt">ref DataTable dt </param> 
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(); 
} 
} 
/// <summary> 
/// 執(zhí)行帶參數(shù)存儲(chǔ)過(guò)程并返回?cái)?shù)據(jù)集合 
/// </summary> 
/// <param name="procName">存儲(chǔ)過(guò)程名稱</param> 
/// <param name="parameters">SqlParameterCollection 輸入?yún)?shù)</param> 
/// <returns></returns> 
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之?dāng)?shù)據(jù)訪問(wèn)類的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文標(biāo)題:ASP.NET之?dāng)?shù)據(jù)訪問(wèn)類的示例分析-創(chuàng)新互聯(lián)
文章起源:http://muchs.cn/article16/eesgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、小程序開(kāi)發(fā)、域名注冊(cè)、品牌網(wǎng)站制作、外貿(mào)建站、軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)