VB.NETでSQL ServerのTimestamp型をString型に変換

SQL Serverのシステム型で用意されているTimestamp型は行の世代を示す列で、行に何等かの更新が発生すると自動的に値が変更されます。

更新の有無を把握する型であり、取得済のTimestampの値とテーブルの行に存在するTimestampの値に違いがあれば、その行に何等かの更新があったことになります。

SQL文内であればTimestamp値を比較することは可能ですが、TimeStamp値はByte配列として格納されているため、プログラムで扱える型に変換してから使うようになります。

そこで、TimeStampの値を文字列に変換する方法を紹介します。

TimeStamp型の値を文字列に変換するコード

TimeStamp型の値を受け取り、文字列に変換して戻すコードです。

プロジェクトどこからでも使用できるように「Public Function」で定義しましょう。

Module Module1
    Public Function timestamptostring(tm As Byte()) As String
        Dim i As Integer
        Dim txTimestamp As String = "0x"

        For i = 0 To tm.Length - 1
            txTimestamp &= Hex(tm(i)).PadLeft(2, "0")
        Next

        Return (txTimestamp)
    End Function
End Module 

TimeStamp型を文字列に変換するコードの使い方

Private Sub TimestampTest()
    Dim TxTs as String

    TxTs  = timestamptostring(Timestamp型)
End sub

 

VB.NETのお勉強の教材

VB.NET教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。