c# - 如果 DbParameter.DbType 是 Binary,那么 DbParameter.Size 的值是多少?
问题描述
我正在使用 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 Server 了吗?
要回答您的问题,在 SQL Server中,Timestamp
是.
从文档:RowVersion
[rowversion] 是一种数据类型,它在数据库中公开自动生成的唯一二进制数。rowversion 通常用作对表行进行版本标记的机制。存储大小为 8 个字节。rowversion 数据类型只是一个递增的数字,不保留日期或时间。
(强调我的)
此外,从同一文档页面:
笔记
时间戳语法已弃用。此功能处于维护模式,可能会在 Microsoft SQL Server 的未来版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。
顺便说一句,RowVersion
是自动生成的——所以除非你的参数是一个out
参数,否则我认为没有理由在参数中使用它。
推荐阅读
- python - 在 pandas DataFrame 中交换和分组列名
- arm - 如何退出 ARM 故障处理程序?
- node.js - 如何从 lambda 函数生成 PDF 文件并将其发送到浏览器?
- node.js - 警告:列表中的每个孩子都应该有一个唯一的“key”属性。%s%s
- wordpress - 滚动前不出现菜单
- c++ - 使用 C++ 插入数据库 SQL
- python - 如何在 Python 中使用 enumerate 来计算列表的 STD?
- python-3.x - 无法将整个 for 循环传递给 Python 中的电子邮件正文
- php - 如何根据国家/地区在 Woocommerce 的购物车和结帐页面中显示重量
- ruby-on-rails - Ruby on Rails 如何在 ActiveRecord 模型中缓存来自外部源的部分数据