gpt4 book ai didi

c# - 将 bytearray 保存到 SQL Server 中的 VarBinary 列仅插入一个字节

转载 作者:行者123 更新时间:2023-11-30 15:26:14 26 4
gpt4 key购买 nike

我有以下问题 - 我正在尝试将 byte[] 保存到数据库,但我发现它只能用于一个字节。

我有一些 float ,我将其转换为 byte[] 并将其用作参数:

param = new SqlParameter(name, type, ((byte[])value).Length);

类型为VarBinary,值为字节数组。

我将该参数添加到我的 SqlCommand 中,就在它执行之前,整个字节数组“位于”该参数中并且该参数的 _msize 是正确的(20我认为 20 个字节是正确的)。我的 SQL Server 显示我只保存了 1 个字节,还试图检索它我只得到一个字节。我的专栏是 VarBinary(200)

有什么建议吗?

最佳答案

如果您使用的是存储过程,并且您已将参数定义为 varbinary - 根据 MSDN documentation,您将获得 1 字节 的默认长度:

When n is not specified in a data definition or variable declaration statement, the default length is 1. When n is not specified with the CAST function, the default length is 30.

所以如果你有一个存储过程

@MyData VARBINARY

那么你只有一个字节——你需要把它改成类似的东西

@MyData VARBINARY(200) 

或者其他适合你的东西

关于c# - 将 bytearray 保存到 SQL Server 中的 VarBinary 列仅插入一个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29824377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com