2011-12-18 43 views
0

我有一个中继器控制,我希望它在中继器控制中的标签中显示。我怎么做 ?现在它正在打印空白字符而不是时间?有任何想法吗 ?如何评估一个SQL时间戳?

我看起来像这样的标签;

<asp:Label ID="Label1" runat="server" Text='<%# (Eval("QTime"))%> '></asp:Label> 

这是给我像“” AAAAAAAALuE =”的输出。我觉得这里需要一个转换,我想知道如何做到这一点说,使用辅助功能什么的。

注意:时间戳是从MS SQL数据库字段来了 “时间戳”

感谢

+0

这个时间戳来自哪里?它是什么数据类型?你为什么需要'评估'它? – Oded 2011-12-18 11:02:03

+1

哪个DBMS,时间戳意味着不同的事情。在SQL Server中,它不是一个时间.... – 2011-12-18 11:07:24

+0

你是否指SQL Server的'timestamp'数据类型? – Oded 2011-12-18 11:07:34

回答

1

你不能在SQL Server上从TIMESTAMP柱得到DateTime

从MSDN - timestamp (Transact-SQL)

那是一个数据库中公开自动生成的,唯一的二进制数字的数据类型。 rowversion通常用作版本标记表行的机制。

这种类型在SQL Server 2005之后的版本中更名为rowversion,正是由于这种混淆。

timestamp/rowversion是判断行数据是否已更改的简单方法 - 它们与日期或时间没有任何关系。

您需要改为使用DateTime数据类型。

+0

@ShaneAdrianMuaz - 您需要自己在“DATETIME”列中记录这些内容。 – Oded 2011-12-18 11:15:37

+0

令人惊讶的是,有多少人从不阅读文档。这是一个重复的问题 - 在这里每周询问一次,如果如果记得没错的话,我个人的一个问题是在寻找SQL Server开发人员时用于过滤不称职人员 - 可悲的是他们有很大的程度;)这是非常明确的文档。 – TomTom 2011-12-18 11:15:53

+0

@TomTom - 同意。该文档甚至说:“要记录日期或时间,请使用datetime2数据类型...”# – Oded 2011-12-18 11:17:10