asp.net SqlHelper數(shù)據(jù)訪問層的使用
更新時(shí)間:2008年09月09日 23:34:00 作者:
如果不使用數(shù)據(jù)訪問層,那么你的代碼里會(huì)出現(xiàn)很多SqlConnection、SqlCommand、SqlDataReader、Open、 Close……這些類和方法,而且代碼量很大,讓你不勝其煩,而且代碼寫起來,其實(shí)都是體力活,沒有技術(shù)含量。
本文章主要介紹SqlHelper使用。
每個(gè)項(xiàng)目都要用到數(shù)據(jù)訪問層,我做的也不例外,但是我把數(shù)據(jù)訪問層做成獨(dú)立項(xiàng)目,沒有什么太大的目的,數(shù)據(jù)訪問層,僅僅做數(shù)據(jù)訪問用,不包含任何邏輯。
為什么要使用數(shù)據(jù)訪問層?
如果不使用數(shù)據(jù)訪問層,那么你的代碼里會(huì)出現(xiàn)很多SqlConnection、SqlCommand、SqlDataReader、Open、 Close……這些類和方法,而且代碼量很大,讓你不勝其煩,而且代碼寫起來,其實(shí)都是體力活,沒有技術(shù)含量。因此我們要把數(shù)據(jù)訪問層封裝起來,方便重用。微軟已經(jīng)替我們做好了這個(gè)工作,那就是SqlHelper,下圖是SqlHelper的類關(guān)系圖:

下面介紹我的使用方法。
執(zhí)行一個(gè)無返回值的存儲(chǔ)過程:
create proc p_Delete@id int
as
delete table1 where id=@id
這是一個(gè)刪除數(shù)據(jù)的存儲(chǔ)過程,調(diào)用該存儲(chǔ)過程只需要一句話:SqlHelper.ExecuteNonQuery (SqlHelper.conn, "p_Delete", id);,這里的id是int類型,而不是SqlParameter類型。該調(diào)用是調(diào)用的public static int ExecuteNonQuery(string connectionString, string spName, params object[] parameterValues)方法。以此類推。返回一個(gè)DataSet類型:SqlHelper.ExecuteDataset (SqlHelper.conn, pro, 參數(shù)列表);參數(shù)也是直接傳遞,無需構(gòu)造SqlParameter……好了,本文主要是介紹一個(gè)小技巧,就是params object[]的使用方法,讓高手見笑了
每個(gè)項(xiàng)目都要用到數(shù)據(jù)訪問層,我做的也不例外,但是我把數(shù)據(jù)訪問層做成獨(dú)立項(xiàng)目,沒有什么太大的目的,數(shù)據(jù)訪問層,僅僅做數(shù)據(jù)訪問用,不包含任何邏輯。
為什么要使用數(shù)據(jù)訪問層?
如果不使用數(shù)據(jù)訪問層,那么你的代碼里會(huì)出現(xiàn)很多SqlConnection、SqlCommand、SqlDataReader、Open、 Close……這些類和方法,而且代碼量很大,讓你不勝其煩,而且代碼寫起來,其實(shí)都是體力活,沒有技術(shù)含量。因此我們要把數(shù)據(jù)訪問層封裝起來,方便重用。微軟已經(jīng)替我們做好了這個(gè)工作,那就是SqlHelper,下圖是SqlHelper的類關(guān)系圖:

下面介紹我的使用方法。
執(zhí)行一個(gè)無返回值的存儲(chǔ)過程:
create proc p_Delete@id int
as
delete table1 where id=@id
這是一個(gè)刪除數(shù)據(jù)的存儲(chǔ)過程,調(diào)用該存儲(chǔ)過程只需要一句話:SqlHelper.ExecuteNonQuery (SqlHelper.conn, "p_Delete", id);,這里的id是int類型,而不是SqlParameter類型。該調(diào)用是調(diào)用的public static int ExecuteNonQuery(string connectionString, string spName, params object[] parameterValues)方法。以此類推。返回一個(gè)DataSet類型:SqlHelper.ExecuteDataset (SqlHelper.conn, pro, 參數(shù)列表);參數(shù)也是直接傳遞,無需構(gòu)造SqlParameter……好了,本文主要是介紹一個(gè)小技巧,就是params object[]的使用方法,讓高手見笑了
您可能感興趣的文章:
- php中分頁及SqlHelper類用法實(shí)例
- C#實(shí)現(xiàn)較為實(shí)用的SQLhelper
- 微軟官方SqlHelper類 數(shù)據(jù)庫輔助操作類
- C#基于SQLiteHelper類似SqlHelper類實(shí)現(xiàn)存取Sqlite數(shù)據(jù)庫的方法
- c#中SqlHelper封裝SqlDataReader的方法
- C#實(shí)現(xiàn)操作MySql數(shù)據(jù)層類MysqlHelper實(shí)例
- 四個(gè)常用的.NET的SQLHELPER方法實(shí)例
- 自己編寫sqlhelper類示例分享
- c# SQLHelper(for winForm)實(shí)現(xiàn)代碼
- C# SqlHelper應(yīng)用開發(fā)學(xué)習(xí)
相關(guān)文章
asp.net下String.prototype.split()的兼容問題
IE下的String.prototype.split()函數(shù)bug2012-12-12ASP.NET Core 2.2中的Endpoint路由詳解
這篇文章主要介紹了ASP.NET Core 2.2中的Endpoint路由詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03ASP.NET網(wǎng)站聊天室的設(shè)計(jì)與實(shí)現(xiàn)(第3節(jié))
這篇文章主要介紹了ASP.NET網(wǎng)站聊天室的設(shè)計(jì)與實(shí)現(xiàn),了解Session、Application對象的屬性和事件,并且掌握利用它們在頁面間保存和傳遞數(shù)據(jù)的方法,需要的朋友可以參考下2015-08-08asp.net 實(shí)現(xiàn)動(dòng)態(tài)顯示當(dāng)前時(shí)間(不用javascript不考慮開銷)
asp.net實(shí)現(xiàn)動(dòng)態(tài)顯示時(shí)間,無需用到j(luò)avascrip,而是用了AJAX。2009-11-11ASP.NET抓取網(wǎng)頁內(nèi)容的實(shí)現(xiàn)方法
這篇文章主要介紹了ASP.NET抓取網(wǎng)頁內(nèi)容的實(shí)現(xiàn)方法,涉及使用HttpWebRequest及WebResponse抓取網(wǎng)頁內(nèi)容的技巧,需要的朋友可以參考下2015-02-02GridView分頁的實(shí)現(xiàn)(通用分頁模板)
要在GridView中加入AllowPaging=true,一頁數(shù)據(jù)多少行PageSize=10分頁時(shí)觸發(fā)的事件OnPageIndexChanging等等,感興趣的朋友可以了解下本文,希望對你有所幫助2013-04-04C# 實(shí)現(xiàn)抓取網(wǎng)站頁面內(nèi)容的實(shí)例方法
這篇文章介紹了C# 實(shí)現(xiàn)抓取網(wǎng)站頁面內(nèi)容的實(shí)例方法,有需要的朋友可以參考一下2013-08-08