解析在ASP.NET中調(diào)用存儲(chǔ)過程的方法(2)_.Net教程
推薦:判斷瀏覽器是否接受Cookies 一種確定瀏覽器是否接受 Cookie 的方法是先編寫一個(gè) Cookie,然后再嘗試讀取這個(gè) Cookie。如果不能讀取這個(gè) Cookie,則可以認(rèn)為該瀏覽器不接受 Cookie。 我編寫了一個(gè)簡(jiǎn)單的示例來(lái)說(shuō)明
這樣就添加了一個(gè)輸入?yún)?shù)。若需要添加輸出參數(shù):
param = new SqlParameter("@ParameterName", SqlDbType.DateTime);
param.Direction = ParameterDirection.Output;
param.Value = Convert.ToDateTime(inputdate);
da.SelectCommand.Parameters.Add(param);
若要獲得參儲(chǔ)過程的返回值:
param = new SqlParameter("@ParameterName", SqlDbType.DateTime);
param.Direction = ParameterDirection.ReturnValue;
param.Value = Convert.ToDateTime(inputdate);
da.SelectCommand.Parameters.Add(param);
從上面的代碼我們可以看出,當(dāng)存儲(chǔ)過程比較多或者存儲(chǔ)過程的參數(shù)比較多時(shí),這種方法會(huì)大大影響開發(fā)的速度;另外一方面,如果項(xiàng)目比較大,那么這些用于數(shù)據(jù)庫(kù)邏輯的函數(shù)在以后的維護(hù)中也是一個(gè)很大的負(fù)擔(dān)。那么,有沒有一種改進(jìn)的方法可以解決這個(gè)問題呢?想到在執(zhí)行沒有參數(shù)的存儲(chǔ)過程時(shí)只需要傳入一個(gè)存儲(chǔ)過程的名字就可以調(diào)用相應(yīng)的存儲(chǔ)過程,而且在SqlServer數(shù)據(jù)庫(kù)中我們可以直接在查詢分析器中敲入“存儲(chǔ)過程名(參數(shù)列表)”樣的字符串就可以執(zhí)行存儲(chǔ)過程,那么,是否可以把這種思想應(yīng)用到應(yīng)用程序中呢?
于是在編譯器中鍵入相應(yīng)代碼。這些代碼是在調(diào)用不帶參數(shù)的存儲(chǔ)過程的代碼的基礎(chǔ)上改的。具體代碼如下:
SqlConnection conn=new SqlConnection(“connectionString”);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = conn;
da.SelectCommand.CommandText = "NameOfProcedure(’para1’,’para2’,para3)";
da.SelectCommand.CommandType = CommandType.StoredProcedure;
為了使代碼更具有代表性,要調(diào)用的存儲(chǔ)過程的第一個(gè)和第二個(gè)參數(shù)都為字符串類型,第三個(gè)參數(shù)為整型。執(zhí)行以后發(fā)現(xiàn),完全可以達(dá)到預(yù)期的效果!
兩種調(diào)用方法的比較
通過比較我們可以看到,第二種方法具有一個(gè)很明顯的優(yōu)點(diǎn),那就是可以提高開發(fā)速度,節(jié)省開發(fā)時(shí)間,而且代碼容易維護(hù),在一定程度上也減少了系統(tǒng)大小。但是,由于對(duì)存儲(chǔ)過程參數(shù)的處理比較籠統(tǒng),如果要獲取輸出參數(shù)或者得到存儲(chǔ)過程的返回值,這種方法就不能滿足需要了。雖然如此,但是,這種方法畢竟可以讓開發(fā)人員少些很大一部分的代碼。如果不需要獲取輸出參數(shù)和返回值,那么幾乎可以做到“一勞永逸”。因此在實(shí)際的程序開發(fā)中,這種方法還是具有一定的實(shí)用價(jià)值的。
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- ASP.Net中無(wú)刷新執(zhí)行Session身份驗(yàn)證
- ASP.NET的實(shí)時(shí)天氣及24小時(shí)天氣預(yù)報(bào)
- .net中as和is之間的區(qū)別分析
- 在網(wǎng)頁(yè)中動(dòng)態(tài)的生成一個(gè)圖片
- .NET圖像界面按鈕的clicked事件淺談
- ASP.NET1.1中動(dòng)態(tài)樹的實(shí)現(xiàn)
- 動(dòng)態(tài)代理DynamicProxy 介紹
- 新手入門之ASP.NET2.0中的緩存技術(shù)解析
- .NET 線程基礎(chǔ)的使用介紹
- ASP.NET 2.0控件異步回調(diào)
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-解析在ASP.NET中調(diào)用存儲(chǔ)過程的方法(2)
。