2010-12-09 6 views
0

J'ai besoin de votre aide dans un petit problème, j'ai une colonne (type de données timestamp) dans SQL Server 2008.Comment convertir objet d'horodatage SQL Server à chaîne en C#

Maintenant, je veux montrer cette valeur timestamp en ASP Application .Net C# en tant que chaîne. Y'a-t'il un quelconque moyen d'y arriver?

Je l'ai essayé en utilisant la récupération de données régulière dans ASP.Net mais il a produit System.byte [] en tant que sortie plutôt que la valeur réelle. Dans SQL Server Management Studio, les valeurs sont représentées sous la forme 0x000000000000B3C0.

Merci

+2

Juste un FYI, l'horodatage est un nombre binaire généré automatiquement, ce qui est garanti d'être unique dans une base de données. L'horodatage est généralement utilisé pour la version des lignes entrées dans une table et non pour afficher la date et/ou l'heure. – Zachary

+1

A droite, l'horodatage ne doit pas être utilisé à la place de "DateCreated" par exemple. –

Répondre

0

Une option est de changer la date, tout en obtenant de la base de données. Comme:

SELECT timestamp = DATEDIFF(s, '19700101', yourTimestampColumn) 
    FROM yourTable 
+1

Je voudrais également ajouter que le datatype d'horodatage n'a rien à voir avec les valeurs de date et d'heure. C'est un nombre binaire qui augmente en fonction des modifications apportées à la base de données. Donc, probablement, ma réponse ne peut pas vous aider. Vous devez vérifier votre implémentation du champ d'horodatage. – Hps

+0

En fait, je dois comparer cet horodatage avec la valeur précédente de la même ligne avant de mettre à jour ou de supprimer des données. Y a-t-il un moyen de comparer? –

+0

Vous pouvez ajouter une nouvelle colonne DateTime, dont la valeur par défaut est GetDate() est Sql Server. Ainsi, il continuera à ajouter la valeur DateTime en cours chaque fois qu'un nouvel enregistrement est inséré. Maintenant, avant la mise à jour, comparez cette valeur avec la valeur actuelle de la fonction GetDate(). – Hps

Questions connexes