gpt4 book ai didi

vb.net - ADO.Net 表值参数 (TVP) - 操作数类型冲突 : datetime2 is incompatible with int

转载 作者:行者123 更新时间:2023-12-01 09:35:47 28 4
gpt4 key购买 nike

我正在使用 TVP,并且试图将数据表作为 TVP 传递给存储过程。当命令尝试 ExecuteNonQuery 时,它会引发错误:

操作数类型冲突:datetime2 与 int 不兼容。表值参数“@tvpPermitWork”的数据不符合参数的表类型。

我使用可视化工具检查了数据表,发现所有数据都是正确的。我现在卡住了,我没有时间将其更改为带有单个参数的存储过程。

非常感谢有关如何解决此问题的任何建议。

最佳答案

如果没有看到您的代码,很难确切知道发生了什么,但可以快速猜测一下,您是否设置了 SqlParameter.SqlDbType = SqlDbType.StructuredSqlParameter.TypeName = "YourTableType"

如果是这样,生成的 T-SQL 是什么样子的(你可以用 SQL Profiler 看到它)?

你的表类型是如何声明的? -- CREATE TYPE YourTableType as TABLE ( ... )
你的存储过程是如何声明的? -- CREATE PROC ... @arg YourTableType READONLY ... AS ...
你的数据表是如何配置的?它应该包括以下内容:

yourDataTable.Columns.Add("columnName", typeof(datetime2));

关于vb.net - ADO.Net 表值参数 (TVP) - 操作数类型冲突 : datetime2 is incompatible with int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8335994/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com