我遇到以下情况,我正在尝试恢复数据库(SQL Server)中意外删除(以及备份)的某些表。我重新创建了一个表,其中的列之一是varbinary(MAX)
(可能是其他原因)。当我尝试使用下面的代码行在.NET中提取数据时,在循环的行上出现IndexOutOfRangeException
:
Dim resultReader As SqlDataReader = myComm.ExecuteReader
Dim previewBytes As Byte() = Nothing
While resultReader.Read()
previewBytes = DirectCast(resultReader.Item("preview"), Byte())
End While
谁能告诉我该如何解决?
编辑:为一点点的澄清,这是代码在C#中的样子:
SqlDataReader resultReader = myComm.ExecuteReader;
byte[] previewBytes = null;
while (resultReader.Read()) {
previewBytes = (byte[])resultReader.Item("preview");
}
最佳答案
好吧,这不会在C#中编译,但是此方法适用于我拥有的其他应用程序(在C#中也为示例):
byte[] previewBytes = (byte[])resultReader["preview"];
关于c# - 从.NET中的数据库中提取varbinary导致IndexOutOfRangeException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13730988/