2011-12-18 39 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