我需要从代码运行存储过程。其中一个输入参数是表的rowVersion。 rowVersion是一个字节数组({0,0,0,0,0,0,11,191},在db中为0x0000000000000DBF)。所以如果以这种方式添加rowVersion:
cmd.Parameters.AddWithValue("@myPKRowversion", 0x0000000000000DBF);
我的sp正在工作。但是当我像这里一样添加它时:
uint a = 0x0000000000000DBF;
cmd.Parameters.AddWithValue("@myPKRowversion", a);
或者如果我将字节数组转换为字符串,如:
string a = "0x0000000000000DBF";
cmd.Parameters.AddWithValue("@myPKRowversion", a);
我的sp无法正常工作。 我该怎么办才能使我的sp工作?
答案 0 :(得分:3)
我建议你将添加为字节数组。例如:
byte[] bytes = new byte[] { 0, 0, 0, 0, 0, 0, 13, 191 };
cmd.Parameters.Add("@myPKRowVersion", SqlDbType.Binary).Value = bytes;
如果您尝试指定字节,最自然的类型是字节数组......