gpt4 book ai didi

c# - 使用微软企业库获取 sql varbinary 记录

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:13 26 4
gpt4 key购买 nike

我有这行代码

byte[] field1 = (reader.GetSqlBinary(reader.GetOrdinal("Field1")).Value;

这是一个 SqlDataReader

我正在尝试将代码转换为使用企业库数据访问 block ,但无法弄清楚如何使用 IDataReader 获取 byte[]

我仔细查看了 MS 文档,但没有找到任何有用的信息。

最佳答案

我首先要尝试的是(ireader.GetOrdinal("Field1")):

    byte[] firstTry = (byte[])reader.GetValue(i);

如果失败,也许:

byte[] secondTry;
using (var ms = new MemoryStream())
{
byte[] buffer = new byte[8040]; // sql page size
int read;
long offset = 0;
while ((read = (int)reader.GetBytes(i, offset, buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
offset += read; // oops! added this later... kinda important
}
secondTry = ms.ToArray();
}

另请注意,根据是否指定了 CommandBehavior.SequentialAccess,行为可能会略有变化。

关于c# - 使用微软企业库获取 sql varbinary 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3379518/

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