従来の ASP を使用して、MSSQL からデータを取得して表示しています。取得したデータ項目の 1 つが正しく表示されず、何が起こっているのか途方に暮れています。MSSQL では "datetime" としてコード化されており、表示しようとすると空白になるか、1899 年 12 月 30 日という間違った日付が表示されます。
データベースには取得するデータが必ずありますが、問題がその取得にあるのか、それとも出力方法にあるのかはわかりません。
問題のデータ項目は「DUpdated」と呼ばれます。
クエリは次のとおりです。
SELECT DUID, DCountry, DName, DUpdated FROM dbo.Destinations WHERE DUID = '{2BC43BE4-75FD-447B-99B1-1AE414978B96}'
MSSQL のこのクエリは次を返します: (ここに画像を投稿したはずですが、これが私の最初の投稿であるため、明らかに小道具を持っていません)。あなたはそれについて私の言葉を受け入れる必要があります。
DUID:
2BC43BE4-75FD-447B-99B1-1AE414978B96
DCountry:
South Africa
DName:
131 Herbert Baker
DUpdated:
2012-12-12 14:52:58.207
データを表示するコードは次のとおりです (XML としてレンダリングされます)。
<hotel>
<id><%=(hotels.Fields.Item("DUID").Value)%></id>
<name><![CDATA[<%=(hotels.Fields.Item("DName").Value)%>]]></name>
<country><![CDATA[<%=(hotels.Fields.Item("DCountry").Value)%>]]></country>
<lastupdated><%=(FormatDateTime(hotels.Fields.Item("DUpdated").Value,2))%></lastupdated>
</hotel>
出力は次のとおりです。
<hotel>
<id>{2BC43BE4-75FD-447B-99B1-1AE414978B96}</id>
<name><![CDATA[131 Herbert Baker]]></name>
<country><![CDATA[South Africa]]></country>
<lastupdated>30/12/1899</lastupdated>
</hotel>
データベースの DUpdated の値がこの誤った日付として表示されているのはなぜですか?