我的数据库表有一个 Timestamp列,名为inTime ,我使用LINQ进行插入,更新SQL服务器中的数据。现在我想在我的数据库中添加时间戳值,但我不知道如何插入?
spaBL.attendance obj = new spaBL.attendance();
obj.FK_employeeId = 1;
obj.inTime =[what to write here??]
inTime是时间戳类型。
答案 0 :(得分:1)
您不为具有Timestamp(Rowversion)数据类型的列提供值。 SQL Server将自动为您提供值(并且它不是日期时间值)。因此,您不必担心让Linq To SQL为您插入Timestamp值。事实上,你不能这样做。 SQL Server将为您完成。但是,您可以检索Timestamp列的值。我相信相应的C#类型将是System.Data.Linq.Binary。
How to add Timestamp value in SQL database by using LINQ
希望有所帮助
答案 1 :(得分:0)
SQL Server时间戳数据类型中的时间戳?
;)如果每次有人没有阅读文档并且认为这是一个时间戳我得到一分钱,我会比比特门更富有。
时间戳数据时间没有时间信息。它是一个正在运行的版本号,是Sybase SQL Server的遗留版本,来自Microsoft的SQL Server源自它,并且完全采用了设计。
所以,不,你不能设置FIELD,对不起,它没有可用的值,除了看它是否改变了(然后行被更新)。
文件清楚明确,即使有些人认为阅读可能是一种迷失的艺术:
http://msdn.microsoft.com/en-us/library/ms182776(v=sql.90).aspx
是一种公开自动生成的唯一二进制文件的数据类型 数据库中的数字。时间戳通常用作机制 用于版本标记表行。
您无法设置它。将您的LINQ设置更改为不更新此列。
答案 2 :(得分:0)
服务器在插入时自动生成时间戳值。您应该向表中插入行而不提供timestamp列的值。然后,SQL Server将为该列生成值。
请注意,timestamp类型的列不包含可以解析为DateTime的值。 timestamp列背后的想法是,它们可用于检查在获取行和尝试使用新值更新行之间是否已更新行。
答案 3 :(得分:0)
您无法更新时间戳。见here。事实上,正如TomTom所说,它不包含实际的时间信息。