我的表格中有一个数据列,用于存储“ 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/