免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
在易語言中調(diào)用MS SQL SERVER數(shù)據(jù)庫存儲過程(Transact

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

一、調(diào)用“無輸入輸出數(shù)據(jù)”的存儲過程

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

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

二、調(diào)用“有一個或多個輸入?yún)?shù)”的存儲過程

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

  兩個輸入?yún)?shù)的情況(其中3和6為參數(shù)值,之間以逗號分隔):

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

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

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

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

四、調(diào)用“返回記錄集(recordset)且有一個或多個輸入?yún)?shù)”的存儲過程 

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

五、調(diào)用“直接返回(return)一個值”的存儲過程

   此類返回值相當(dāng)于易語言子程序的返回值,是在存儲過程代碼內(nèi)部使用 return 指令返回的。欲得到這個返回值,稍微有點麻煩,且看代碼:

  這里面我(liigo)用了三條SQL語句(嚴(yán)格來說是Transact-SQL語句),各語句之間以分號分隔。第一條 "declare @R int" 定義了一個類型為 int 的變量 @R,第二條 "exec @R = dbproc_r" 調(diào)用存儲過程并把其返回值賦值給變量@R,第三條,"select @R" 生成一個只有一條記錄和一個字段的記錄集。代碼執(zhí)行成功后,讀取 記錄集1 第一條記錄第一個字段就得到了存儲過程的返回值,完整代碼可參考前圖。實際應(yīng)用中,應(yīng)注意存儲過程返回值類型的匹配。@R改成@abc都無所謂,但@符號必須保留(變量或參數(shù)的前綴)。

  如果這個存儲過程還有輸入?yún)?shù)呢?直接把參數(shù)值附加在存儲過程名稱后面即可,形如:記錄集1.打開 (“declare @R int; exec @R = xproc_r_p2 3,6; select @R”, #SQL語句, )。

六、調(diào)用“通過OUTPUT參數(shù)返回值”的存儲過程

  存儲過程中有一種output參數(shù)既是輸入?yún)?shù)又是輸出參數(shù),它的值可被存儲過程內(nèi)部改寫。大概相當(dāng)于易語言子程序的“參考”參數(shù)。調(diào)用代碼如下:

  仍然是借助一個變量@P得到輸出參數(shù)的值(注意類型要匹配),然后生成一個單記錄單字段的記錄集,執(zhí)行成功后通過記錄集1讀取該字段值即可。調(diào)用存儲過程的SQL語句 "exec xproc_o @P output" 中,output表示這個參數(shù)可以接收返回值。

七、調(diào)用“同時存在返回值和OUTPUT參數(shù)”的存儲過程

  這是前面兩種情況的綜合運用,可借助多個變量解決,代碼形如:記錄集1.打開 (“declare @R int; declare @P1 int; declare @P2 int; exec @R = xproc_r_p3 100,@P1 output,@P2 output; select @R,@P1,@P2”, #SQL語句, )。

八、思考:調(diào)用“既有OUTPUT參數(shù)(或返回值)又返回記錄集”的存儲過程

  我(liigo)暫時無解。

附,相關(guān)測試用存儲過程代碼:

全文完。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
《SQL Server 2005基礎(chǔ)教程及上機指導(dǎo)》第6章 存儲過程
SQL Server 存儲過程
SQL存儲過程入門級教程3
數(shù)據(jù)庫儲存過程語法規(guī)則
SQL使用存儲過程的好處
PL/SQL DEVELOPER 基本用法詳解(轉(zhuǎn))
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服