我的表格中有一个数据列,用于存储“ image”(SQLDBType)类型,即。它具有二进制数据。
我想通过C#在SQLDataReader中读取以上列的值。
我用的功能

dr.GetBytes(6,0,Data,0,length);


6->我的专栏号码

0->从哪里开始读取索引

数据->我想读取的缓冲区

0->我要复制的缓冲区中的索引

length->要读取的数据的长度。

现在我想获取数据列中二进制数据的长度(在这里,我已经使用了上面的length变量)。

怎么做?

最佳答案

您可以在使用SQL DATALENGTH函数的查询中添加另一列。首先读取该列的值,然后分配缓冲区并使用GetBytes

顺便说一句,您应该从image迁移。


在将来的Microsoft SQL Server版本中,将删除ntext,text和image数据类型。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请使用nvarchar(max)varchar(max)varbinary(max)

关于c# - 获取存储在存储二进制数据的数据列中的字节长度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18713336/

10-11 09:29