Sql server 如何使用rowversion类型的SQL Server列?

Sql server 如何使用rowversion类型的SQL Server列?,sql-server,vb.net,rowversion,Sql Server,Vb.net,Rowversion,使用Visual Studio中的Visual Basic,我尝试从SQL Server数据库中选择rowversion类型的行 “版本”是rowversion类型的列 SELECT [Version] FROM Employees WHERE Employee_id = 1 然后在VB中-从版本列中获取值 Dim myBuffer As Byte() Dim reader As SqlDataReader numRead = reader.GetBytes(0, 0, myBuf

使用Visual Studio中的Visual Basic,我尝试从SQL Server数据库中选择rowversion类型的行

“版本”是rowversion类型的列

SELECT [Version] FROM Employees WHERE Employee_id = 1  
然后在VB中-从版本列中获取值

Dim myBuffer As Byte()  
Dim reader As SqlDataReader  
numRead = reader.GetBytes(0, 0, myBuffer, 0, 16)
我知道mybuffer中有以下数据:

 For i = 0 To myBuffer.Length - 1  
    MsgBox(myBuffer(i).ToString())
 Next
还有myBuffer.Length=9

但是当我想用myBuffer查询我的数据库时

cmd.Parameters.AddWithValue("version", myBuffer)
我得到一个错误:

过程或函数“updatePerson”需要未提供的参数“@version”

好像我的缓冲区为空


有人知道如何从数据库中获取行版本,然后在查询中使用它吗?

-另外,您是否尝试过使用
@version
而不是
version
添加参数?另外,您的参数化查询/存储过程是什么样子的?请尝试显式说明类型,可能是
AddWithValue
错误地确定了数据类型-
cmd.Parameters.Add(“@version”,SqlDbType.Timestamp)。Value=myBuffer
GarethD-您的答案起作用了。我确实必须执行ReDim Preserve myBuffer(7)-另外,您是否尝试使用
@version
而不是
version
添加参数?另外,您的参数化查询/存储过程是什么样子的?请尝试显式说明类型,可能是
AddWithValue
错误地确定了数据类型-
cmd.Parameters.Add(“@version”,SqlDbType.Timestamp)。Value=myBuffer
GarethD-您的答案起作用了。我确实必须执行ReDim以保留我的缓冲区(7)