溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ADO.NET存儲過程調(diào)用舉例分析

發(fā)布時(shí)間:2021-12-03 15:42:33 來源:億速云 閱讀:85 作者:iii 欄目:編程語言

這篇文章主要講解了“ADO.NET存儲過程調(diào)用舉例分析”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“ADO.NET存儲過程調(diào)用舉例分析”吧!

此示例很簡單,因?yàn)榇鎯^程不需要任何輸入?yún)?shù)。也就是說,查找十件最貴的產(chǎn)品不需要任何外部信息。無需外界幫助,存儲過程即可完成此操作。然而,多數(shù)存儲過程都需要輸入?yún)?shù)來執(zhí)行其功能。在下一個(gè)示例中,讓我們看看如何向ADO.NET存儲過程傳遞輸入?yún)?shù)。我們將使用 CustomerID 來獲取相關(guān)客戶的所有訂單,并使用名為 CustOrderHist 的ADO.NET存儲過程(已存在于 Northwind 數(shù)據(jù)庫中)。

在已使用的表單上再創(chuàng)建一個(gè)按鈕,并將以下代碼行放到按鈕的 Click 事件后面:

Dim sConnectionString As String = _ "server=localhost;uid=sa;pwd=;database=Northwind"  Dim cnNorthwind As New SqlConnection(sConnectionString)  Dim cmdOrders As New SqlCommand("CustOrderHist", cnNorthwind)  cmdOrders.CommandType = CommandType.StoredProcedure  ' 為存儲過程設(shè)置參數(shù)  Dim prmCustomerID As New SqlParameter()  prmCustomerID.ParameterName = "@CustomerID" prmCustomerID.SqlDbType = SqlDbType.VarChar  prmCustomerID.Size = 5 prmCustomerID.Value = "ALFKI" cmdOrders.Parameters.Add(prmCustomerID)  Dim daGetOrders As New SqlDataAdapter(cmdOrders)  Dim dsOrders As New DataSet()  daGetOrders.Fill(dsOrders, "Orders")  DataGrid1.DataSource = dsOrders.Tables("Orders")

此代碼與上一個(gè)示例中的代碼非常相似,不同之處在于創(chuàng)建 Command 對象之后,為其配置了 Parameter 對象并將此對象添加到 Command 的參數(shù)集合中。在此示例中(更接近于演示軟件)將對客戶 ID 進(jìn)行硬編碼,參數(shù)的 Value 屬性通常會設(shè)置為某些用戶輸入數(shù)據(jù)。但是,參數(shù)的其他屬性可以完全象此示例中那樣設(shè)置。此示例中的所有參數(shù)設(shè)置都是顯式設(shè)置。某些開發(fā)人員喜歡這種樣式,因?yàn)樗阌谡f明。但某些開發(fā)人員喜歡使用代碼行較少的等價(jià)方法:

Dim sConnectionString As String = _ "server=localhost;uid=sa;pwd=;database=Northwind"  Dim cnNorthwind As New SqlConnection(sConnectionString)  Dim cmdOrders As New SqlCommand("CustOrderHist", cnNorthwind)  cmdOrders.CommandType = CommandType.StoredProcedure  cmdOrders.Parameters.Add(New _  SqlParameter("@CustomerID", SqlDbType.VarChar, 5))  cmdOrders.Parameters("@CustomerID").Value = "ALFKI" Dim daGetOrders As New SqlDataAdapter(cmdOrders)  Dim dsOrders As New DataSet()  daGetOrders.Fill(dsOrders, "Orders")  DataGrid1.DataSource = dsOrders.Tables("Orders")

此代碼與上一示例的作用完全相同。但每個(gè)參數(shù)只需要兩行代碼,而不是六行。如果存儲過程包含大量參數(shù)(如后面某些示例所示),所需代碼行的多少就會有明顯區(qū)別,因此在后面部分,我們將使用此表單。

感謝各位的閱讀,以上就是“ADO.NET存儲過程調(diào)用舉例分析”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對ADO.NET存儲過程調(diào)用舉例分析這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI