如何将存储过程中的大量参数从代码传递到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