如何字节[]到时间戳

问题描述 投票:0回答:2

我的数据库中有一个timestamp列,用作rowversion。在将数据从数据库中拉出时,我们得到了rowversion,我将其转换为byte []。到目前为止,一切都按预期工作。

在更新数据时,我想检查(在存储过程中),如果rowversion是否相同,那就是将从代码传递的那个与存储在数据库中的那个进行比较。如果不同,我将中止更新,否则会更新数据。

现在我的问题是,如何将byte []传递给存储过程。存储过程中的参数类型是时间戳。

注意:我使用企业库在c#中进行所有db操作。我无法更改存储过程或数据类型。它受到限制。

c# sql arrays timestamp enterprise-library
2个回答
0
投票

下面的代码按预期工作

public static TestMethod(....,byte[] rowVersion)
{
    .........
    dbConnection_.AddInParameter(dbcommand, "@row_version", DbType.Binary,rowVersion);
    ...........
}

上面的代码使用的是企业库。我认为这会对某人有所帮助。

谢谢各位试图在这里提供帮助的人。干杯..!


-1
投票

见下面的代码:

           DateTime now = DateTime.Now;
            long bNow = now.ToBinary();
            byte[] arrayNow = BitConverter.GetBytes(bNow);

            long getLong = BitConverter.ToInt64(arrayNow, 0);

            DateTime getNow = DateTime.FromBinary(getLong);

            Console.WriteLine(getNow.ToLongTimeString());
            Console.ReadLine();
© www.soinside.com 2019 - 2024. All rights reserved.