2

我有以下情况,我正在尝试恢复数据库(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");
}
4

1 回答 1

0

好吧,这不会在 C# 中编译,但此方法适用于我拥有的其他应用程序(在 C# 中也有示例):

byte[] previewBytes = (byte[])resultReader["preview"];
于 2012-12-05T19:53:41.227 回答