Csharp/C#教程:如何将存储过程中的大量参数从代码传递到SQL Server分享


如何将存储过程中的大量参数从代码传递到SQL Server

如何从代码中将大量参数(比如说20+)传递给存储过程?

就像我们可以将一个类对象中的所有参数分组然后将其传递一样,但是如何在存储过程的情况下实现这一点。

目前我必须创建20多个变量来传递参数。

谢谢Ashwani

如果您使用的是SQL Server 2008,请使用表值参数 。 如果您不熟悉,它基本上允许您将表作为参数传递给存储过程。 好处是您可以构建您传入的DataTable以查找您想要的内容。

我做了类似的事情而不是通过几十个参数,我通过一个TVP,有两列[KEY]和[VALUE]。 这样,当您的参数在将来发生变化时,存在一个抽象层来隔离迁移。 当然,您如何选择实施它取决于具体情况。

首先,看看需要这么多参数的设计 – 有没有办法可以减少向服务器发送这么多信息的需要?

其次,再次回到第一点,因为它仍然“闻到”错误:-)

然后你可以做以下事情:

当然,这些方法意味着每次编码和解码许多参数,这可能比分别传递它们更糟糕。 实际上,人们可能会争辩说SQL调用机制已经在为您做上述事情。

通常不需要很多变量来存储参数; 你需要为每个arg添加SqlParameter (etc),但是你可以在循环中设置它们(/ etc)。

在2.0中执行此操作的最佳方法是将包含所有参数的XML传递给存储过程,然后使用OPENXML获取每个参数。 然后在SP中使用它。

请参阅这些链接

将参数作为Xml传递给存储过程和https://www.eggheadcafe.com/articles/20030627c.asp

上述就是C#学习教程:如何将存储过程中的大量参数从代码传递到SQL Server分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1000875.html

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐