加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 插入多行的最佳方式(ADO.NET)

发布时间:2020-12-16 03:20:19 所属栏目:asp.Net 来源:网络整理
导读:我正在为现有的ASP.NET项目添加功能.代码调用存储过程以向特定表添加行.我还需要允许其中一列具有多个值的选项,在这种情况下,将为该列中的每个值添加一行. 我知道我可以为每一行调用一次插入方法,但这听起来非常低效.我知道我可以编写多行,由分号分隔,并在一
我正在为现有的ASP.NET项目添加功能.代码调用存储过程以向特定表添加行.我还需要允许其中一列具有多个值的选项,在这种情况下,将为该列中的每个值添加一行.

我知道我可以为每一行调用一次插入方法,但这听起来非常低效.我知道我可以编写多行,由分号分隔,并在一个请求中将它们发送到数据库.但是现有代码调用存储过程,因此多个insert语句需要我修改现有代码的内容.

请注意,多个值将在文本框中存储为多行,每个值一行,并且显然必须检查是否正确输入.

有没有更简单的方法来解决这个问题?

解决方法

SQL Server 2008具有“表类型”参数,允许多行作为参数.一个例子在 this SO question中定义

SQL Server 2005具有良好的XML处理能力.我们目前将其用于小型数据集. SQL Server 2000 XML处理不是很好.

对于所有版本,您可以创建临时表,然后调用使用此表的存储过程.您可以使用SQLBulkCopy加载表.对许多行有用.

通常,问题是常见的. Erland Sommarskog有一篇文章“Arrays and Lists in SQL Server 2005 and Beyond”,这是关于这个主题的权威性文章之一(他有更多).

摘要:

>表类型(SQL Server 2008)> XML(使用SQL Server 2005更容易)>临时表(所有版本)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读