Sql server 如何使用rowversion类型的SQL Server列?
使用Visual Studio中的Visual Basic,我尝试从SQL Server数据库中选择rowversion类型的行 “版本”是rowversion类型的列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
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)