ADO.NET存储过程调用举例分析

这篇文章主要讲解了“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存储过程调用举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是蜗牛博客,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论电报频道链接