[英]What is the value of DbParameter.Size if DbParameter.DbType is Binary?
我正在使用 Visual Studio 2010、.Net Framework 4 和 SQL Server 2008 R2。
我有一个表,其列的数据类型之一是timestamp
。 我正在尝试为此列设置一个DbParameter
。 查看https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-data-type-mappings我可以看到该列的DbParameter.DbType
应该是Binary
。 但是该列的DbParameter.Size
值应该是多少?
谢谢
很抱歉读到你被困在过去。 我会派布朗博士让你回到 2019 年。我的意思是,说真的,你不认为是时候升级你的 VS 和 SQL 服务器了吗?
要回答您的问题,在 SQL 服务器中, Timestamp
是RowVersion
的同义词。
从文档:
[rowversion] 是一种数据类型,它在数据库中公开自动生成的唯一二进制数。 rowversion 通常用作对表行进行版本标记的机制。 存储大小为 8 个字节。 rowversion 数据类型只是一个递增的数字,不保留日期或时间。
(强调我的)
此外,从同一文档页面:
笔记
时间戳语法已弃用。 此功能处于维护模式,可能会在 Microsoft SQL 服务器的未来版本中删除。 避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。
顺便说一句, RowVersion
是自动生成的——所以除非你的参数是一个out
参数,否则我认为没有理由在参数中使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.