在.NET中調(diào)用存儲過程

在.NET中調(diào)用存儲過程

ID:42662272

大小:40.00 KB

頁數(shù):3頁

時間:2019-09-19

在.NET中調(diào)用存儲過程_第1頁
在.NET中調(diào)用存儲過程_第2頁
在.NET中調(diào)用存儲過程_第3頁
資源描述:

《在.NET中調(diào)用存儲過程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、因為做項目要用到數(shù)據(jù)庫,因此存儲過程是必不可少的,看了一點如何在.NET中調(diào)用存儲過程的資料,頗有點心得,覺得這個東西是當用到數(shù)據(jù)庫的時候必須要會的一項技術(shù)。下面是它的定義:存儲過程(StoredProcedure)是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中。用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個重要對象,任何一個設(shè)計良好的數(shù)據(jù)庫應(yīng)用程序都應(yīng)該用到存儲過程??偟膩碚f,存儲過程具有以下一些優(yōu)點:◆存儲過程允許標準組件式編程◆存儲過程能夠?qū)崿F(xiàn)較快的

2、執(zhí)行速度◆存儲過程能夠減少網(wǎng)絡(luò)流量◆存儲過程可被作為一種安全機制來充分利用?現(xiàn)在我們來看看如何在.NET中調(diào)用存儲過程。?1:無參數(shù)的存儲過程建立存儲過程如下:Uselibrarydatabase//指定所要建的存儲過程的數(shù)據(jù)庫goCreateprocedurep_book//新建存儲過程p_bookAsselect*frombookwhere條形碼='ts100008'//SQL語句集合執(zhí)行編譯之后在數(shù)據(jù)庫的可編程性節(jié)點里面的存儲過程可以看得到!?在VS2005里面新建一個控制臺程序,新建一個方法如下:publicv

3、oidnopara(){SqlConnectioncon=newSqlConnection("server=.;database=librarydatabase;userid=sa;pwd=;");//數(shù)據(jù)庫連接字段SqlCommandcom=newSqlCommand("p_book",con);//調(diào)用存儲過程com.CommandType=CommandType.StoredProcedure;//指定執(zhí)行的類型con.Open();//打開數(shù)據(jù)庫連接try{SqlDataReadersdr=com.Execut

4、eReader();//執(zhí)行存儲過程while(sdr.Read()){Console.WriteLine(sdr[2].ToString());//sdr方括號里面的數(shù)值就是返回記錄的方列,這里是顯示第三列的值,從0開始算}con.Close();//關(guān)閉數(shù)據(jù)庫連接Console.ReadKey();}catch{Console.WriteLine("somethingiswrong");Console.ReadKey();}}此時客戶端就直接調(diào)用該方法即可!??2:有參數(shù)的存儲過程調(diào)用有參數(shù)的存儲過程其實并不復(fù)雜,

5、和類中方法參數(shù)的傳遞相似,只不過存儲過程里面的參數(shù)前必須要有“@”作用!建立存儲過程如下:Uselibrarydatabase//指定所要建的存儲過程的數(shù)據(jù)庫goCreateprocedurelib_reader@namenvarchar(20)//定義一個nvarchar型的參數(shù),注意,用“@”修飾asselect*fromreaderwhere姓名=@name//完整的SQL語句,引用該參數(shù)?執(zhí)行編譯。??再新建一個方法如下:publicvoidhaspara(){SqlConnectioncon=newSqlCo

6、nnection("server=.;database=librarydatabase;userid=sa;pwd=;");//數(shù)據(jù)庫連接字段SqlDataAdaptersda=newSqlDataAdapter("lib_reader",con);//調(diào)用存儲過程,和前一個例子不同,這里用SqlDataAdapter,省去了打開數(shù)據(jù)庫連接!//con.Open();此句可以省去,因為執(zhí)行SqlDataAdapter已經(jīng)打開了連接了SqlParameterpara0=newSqlParameter("@name","張

7、三");//給參數(shù)賦值,注意參數(shù)格式sda.SelectCommand.Parameters.Add(para0);//添加參數(shù)值sda.SelectCommand.CommandType=CommandType.StoredProcedure;//指定執(zhí)行類型為存儲過程try{DataSetds=newDataSet();sda.Fill(ds,"table");foreach(DataRowtherowinds.Tables["table"].Rows){Addr=therow["家庭地址"].ToString()

8、.Trim();    //讀取返回記錄的相應(yīng)字段,Addr必須先聲明為string型才可以使用Tel=therow["電話"].ToString().Trim();      //讀取返回記錄的相應(yīng)字段}Console.WriteLine("家庭地址是:{0},所在系:{1}",password,quanxian);con.Cl

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。