将表值参数中的数据从 .NET 显式转换为 T-SQL
我需要从 VB.NET 调用一个带有表值参数的存储过程。该表结构具有三列,其中一列是sql_variant
。
我想要传递给此 SP 的 DataTable
在 sql_variant
列中有一些 string
,这些字符串可以很好地从 T-SQL 转换 -> .Net,但反之则不然。
问题在于它将 string
转换为 nvarchar(max)
,这与 sql_variant
不兼容,但据我所知,转换为nvarchar(len(s))
就可以了。
那么,我可以显式将DataTable
中的某些单元格转换为隐式转换为有限长度nvarchar
的类型吗>?或者,我可以更改这些 .NET 类型隐式转换为 SQL 类型的方式吗?
预先感谢您的帮助!
安迪
I need to call a stored procedure from VB.NET that takes a table valued parameter. The table structure has three columns, one of which is an sql_variant
.
The DataTable
I want to pass to this SP has some string
s inside the sql_variant
column, which converts fine from T-SQL -> .Net, but not the other way around.
The problem is that it's converting string
to nvarchar(max)
which is incompatible with sql_variant
, but as far as I can tell, a conversion to nvarchar(len(s))
would be fine.
So, can I explicitly convert certain cells in a DataTable
to a type that will implicitly convert to a finite length nvarchar
? Or, can I alter how these .NET types are implicitly converted to SQL types?
Thanks in advance for any help!
Andy
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论