您好,登錄后才能下訂單哦!
這篇文章主要講解了“ADO.NET存儲過程調用舉例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ADO.NET存儲過程調用舉例分析”吧!
此示例很簡單,因為存儲過程不需要任何輸入參數。也就是說,查找十件最貴的產品不需要任何外部信息。無需外界幫助,存儲過程即可完成此操作。然而,多數存儲過程都需要輸入參數來執行其功能。在下一個示例中,讓我們看看如何向ADO.NET存儲過程傳遞輸入參數。我們將使用 CustomerID 來獲取相關客戶的所有訂單,并使用名為 CustOrderHist 的ADO.NET存儲過程(已存在于 Northwind 數據庫中)。
在已使用的表單上再創建一個按鈕,并將以下代碼行放到按鈕的 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 ' 為存儲過程設置參數 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")
此代碼與上一個示例中的代碼非常相似,不同之處在于創建 Command 對象之后,為其配置了 Parameter 對象并將此對象添加到 Command 的參數集合中。在此示例中(更接近于演示軟件)將對客戶 ID 進行硬編碼,參數的 Value 屬性通常會設置為某些用戶輸入數據。但是,參數的其他屬性可以完全象此示例中那樣設置。此示例中的所有參數設置都是顯式設置。某些開發人員喜歡這種樣式,因為它便于說明。但某些開發人員喜歡使用代碼行較少的等價方法:
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")
此代碼與上一示例的作用完全相同。但每個參數只需要兩行代碼,而不是六行。如果存儲過程包含大量參數(如后面某些示例所示),所需代碼行的多少就會有明顯區別,因此在后面部分,我們將使用此表單。
感謝各位的閱讀,以上就是“ADO.NET存儲過程調用舉例分析”的內容了,經過本文的學習后,相信大家對ADO.NET存儲過程調用舉例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。