【发布时间】:2018-10-25 23:28:20
【问题描述】:
正如标题所说,我正在尝试使用在代码中动态构建的INSERT 命令将多个值插入 SQL Server。
命令如下所示:
INSERT INTO xLog (value1, value2, value3)
VALUES (@xLog);
并且,在此站点中的多个其他答案之后,参数 @xLog 是 SqlDataRecord 的数组,其中包含要插入的值的集合(我也遵循了同样建议的 DataTable 方法,使用与以下结果相同)。
但是,当我尝试执行这个命令时,我得到了这个错误:
表类型参数“@xLog”必须具有有效的类型名称。
...我理解这是因为 SQL Server 期望在遵循参数结构的数据库中创建自定义类型。假设我不希望出于 X 原因创建此自定义类型。
所以问题是:有没有一种方法可以在不使用自定义类型或存储过程的情况下从 .net 代码中将多行插入到 SQL Server 中?
感谢您的宝贵时间。
模组注意事项:我使用 vb.net 和 c# 标签进行标记,因为我可以使用两种语言的代码。谢谢。
【问题讨论】:
-
这里的结局是什么?您是否只是想避免为您提供的值指定数据类型?为什么会这样?
-
嗯,是的,我试图避免更改现有数据库,因为这并不总是可能的。如果我无需创建自定义 SQL 类型就可以进行插入,我就不必更改任何表。
标签: c# sql-server vb.net