pza*_*zaj 4 c# sql-server bytearray varbinary
我有以下问题 - 我正在尝试保存byte[]到数据库,但我发现它仅适用于一个字节。
我有一些浮点数可以转换为 byte[] 并将其用作参数:
param = new SqlParameter(name, type, ((byte[])value).Length);
Run Code Online (Sandbox Code Playgroud)
类型是VarBinary,值是字节数组。
我将该参数添加到 my 中SqlCommand,就在它被执行之前,整个字节数组“位于”该参数中,并且_msize该参数是正确的(我认为 20 字节为 20 字节是正确的)。我的 SQL Server 显示我只保存了 1 个字节,也试图检索它我只得到一个字节。我的专栏是VarBinary(200)。
有什么建议?
如果您使用的是存储过程,并且您已将参数定义为varbinary-根据MSDN 文档,您将获得1 个字节的默认长度:
当 n未在数据定义或变量声明语句中指定时,默认长度为 1。当 CAST 函数未指定 n 时,默认长度为 30。
所以如果你有一个存储过程
@MyData VARBINARY
Run Code Online (Sandbox Code Playgroud)
那么你只有一个字节——你需要把它改成类似的东西
@MyData VARBINARY(200)
Run Code Online (Sandbox Code Playgroud)
或者其他适合你的东西
| 归档时间: |
|
| 查看次数: |
3741 次 |
| 最近记录: |