0

以下のように、HashBytes を使用して、SQL で複数のフィールドを組み合わせてハッシュ キーを作成しました。

hashbytes('MD5', PID+PNumber+CONVERT(VARCHAR(50),cast(datestamp as  binary)) +CONVERT(VARCHAR(50), TCount)+OCD+OSeqNbr+TID) AS VARBINARY(80)

上記のすべてのフィールドのデータ型は以下のとおりです

PID - nvarhcar(30)
PNumber - nvarhcar(30)
datestamp  - Datetime 
TCount  - Int
OCD - varhcar(2)
OSeqNbr - varhcar(10)
TID  - nvarhcar(100)

しかし、値を取得するには C# と同等の関数が必要です。これにより、フィールド値に対して C# コードを使用して値を取得し、値を sql に渡して、値をハッシュ キー列と比較できます。

以下のようにして、ハッシュキーのバイナリ値に相当する byte[] 値を取得しようとしました。ただし、SQL ハッシュ キー値と同じ値ではありません。

var key = System.Text.Encoding.Unicode.GetBytes(Event.PID + Event.PNumber +
                                                     Event.DateStamp + Event.TCount +
                                                     Event.OCD + Event.OSeqNbr +
                                                     Event.TID);

私が行方不明になっていることについて誰か助けてもらえますか?

4

0 に答える 0