在易語言中調用MS SQL SERVER數據庫存儲過程方法總結


 Microsoft SQL SERVER 數據庫存儲過程,根據其輸入輸出數據,籠統的可以分為以下幾種情況或其組合:無輸入,有一個或多個輸入參數,無輸出,直接返回(return)一個值,通過output參數返回一個或多個值,返回一個記錄集(recordset)。無論哪一種情況,無論輸入輸出參數多復雜的存儲過程,都可以在易語言中正確調用,准確的傳入參數,並獲取正確的輸出數據。下面我(liigo)分多種情況介紹在易語言中調用MS SQL SERVER數據庫存儲過程的詳細方法,使用數據庫操作支持庫(eDatabase.fne)。此前多有人說易語言無法調用數據庫存儲過程,或咨詢調用存儲過程的方法,因成此文。

  一、調用“無輸入輸出數據”的存儲過程

  這是最簡單的情況,執行一個簡單的SQL語句就OK了,下面直接給出代碼:

view plaincopy to clipboardprint?
數據庫連接1.執行SQL (“exec dbproc”) 

  其中,“數據庫連接1”是數據庫操作支持庫中“數據庫連接”控件的實例,"exec" 表示調用存儲過程,"dbproc"為被調用的存儲過程的名稱。即使存儲過程有返回值,在不想接收返回值的情況下,也可按這種方法調用。

  二、調用“有一個或多個輸入參數”的存儲過程

  一個輸入參數的情況(其中5為參數值,跟在存儲過程名稱之后,以空格分隔):

view plaincopy to clipboardprint?
數據庫連接1.執行SQL (“exec dbproc_p1 5”)

  兩個輸入參數的情況(其中3和6為參數值,之間以逗號分隔):

view plaincopy to clipboardprint?
數據庫連接1.執行SQL (“exec dbproc_p2 3,6”)

  三、調用“返回記錄集(recordset)”的存儲過程

  存儲過程最后一條SQL語句為Select語句,通常將返回一個記錄集(recordset)給調用者。在易語言中,可通過數據庫操作支持庫中的“記錄集”控件接收該記錄集,具體代碼如下圖:

  核心代碼就是中間淡黃底色加亮的那一行(記錄集1.打開),這行代碼執行成功后,記錄集1內容就是存儲過程返回的recordset內容,通過一個簡單的循環語句可以遍歷所有記錄。實際使用中,應檢查“記錄集1.打開”調用是否成功,上圖為簡化起見省略之。

  下文更復雜的情況,也是用大概相同的代碼,僅中間淡黃底色加亮的那一行有所變化。

  四、調用“返回記錄集(recordset)且有一個或多個輸入參數”的存儲過程

  代碼與前面大致相同,只是調整了中間一行調用存儲過程的SQL語句的寫法,前面都有涉及,無需多言:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM