如何使用LINQ在SQL Server 2005中添加Timestamp值

时间:2012-07-02 07:04:48

标签: asp.net sql-server-2005 linq-to-sql timestamp

我的数据库表有一个 Timestamp列,名为inTime ,我使用LINQ进行插入,更新SQL服务器中的数据。现在我想在我的数据库中添加时间戳值,但我不知道如何插入?

 spaBL.attendance obj = new spaBL.attendance();
            obj.FK_employeeId = 1;
            obj.inTime =[what to write here??]

inTime是时间戳类型。

4 个答案:

答案 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所说,它不包含实际的时间信息。