如何調用存儲過程

調用存儲過程方法如下供參考

操作方法

(01)(1)執行一個沒有參數的存儲過程的代碼如下:sqlconnection conn=new sqlconnection(“connectionstring”);sqldataadapter da = new sqldataadapter();ctcommand = new sqlcommand();ection = conn;andtext = "nameofprocedure";andtype = edprocedure;然後只要選擇適當的方式執行此處過程,用於不同的目的即可。

如何調用存儲過程

(02)(2)執行一個有參數的存儲過程的代碼如下(我們可以將調用存儲過程的函數聲明爲exeprocedure(string inputdate)):sqlconnection conn=new sqlconnection(“connectionstring”);sqldataadapter da = new sqldataadapter();ctcommand = new sqlcommand();ection = conn;andtext = "nameofprocedure";andtype = edprocedure;(以上代碼相同,以下爲要添加的代碼)param = new sqlparameter("@parametername", time);ction = t;e = tetime(inputdate);(param);

如何調用存儲過程 第2張

(03)這樣就添加了一個輸入參數。若需要添加輸出參數:param = new sqlparameter("@parametername", time);ction = ut;e = tetime(inputdate);(param);

如何調用存儲過程 第3張

(04)從上面的代碼我們可以看出,當存儲過程比較多或者存儲過程的參數比較多時,這種方法會大大影響開發的速度;另外一方面,如果項目比較大,那麼這些用於數據庫邏輯的函數在以後的維護中也是一個很大的負擔。那麼,有沒有一種改進的方法可以解決這個問題呢?想到在執行沒有參數的存儲過程時只需要傳入一個存儲過程的名字就可以調用相應的存儲過程,而且在sqlserver數據庫中我們可以直接在查詢分析器中敲入“存儲過程名(參數列表)”樣的字符串就可以執行存儲過程,那麼,是否可以把這種思想應用到應用程序中呢?於是在編譯器中鍵入相應代碼。這些代碼是在調用不帶參數的存儲過程的代碼的基礎上改的。具體代碼如下:sqlconnection conn=new sqlconnection(“connectionstring”);sqldataadapter da = new sqldataadapter();ctcommand = new sqlcommand();ection = conn;andtext = "nameofprocedure(’para1’,’para2’,para3)";andtype = edprocedure;

如何調用存儲過程 第4張

(05)爲了使代碼更具有代表性,要調用的存儲過程的第一個和第二個參數都爲字符串類型,第三個參數爲整型。執行以後發現,完全可以達到預期的效果!