我有一个DataSet
通过 aDataTable
正确填充单个DataRow
的 a TableAdapter
。
我可以使用如下代码从 DataRow 中提取数据:
dataFileID = (int)this.dataFileDataRow["DataFileID"];
dataFileName = (string)this.dataFileDataRow["DataFileName"];
dataFileDate = (DateTime)this.dataFileDataRow["DataFileDate"];
我有另一列名为 DataFile 类型的列varbinary(max)
。
当我尝试从与上面相同的列中提取该列的数据时DataRow
,我什么也得不到。
byte[] fileFromDatabase = (byte[])this.dataFileDataRow["DataFile"];
如果我在这个位置放置一个断点,我可以查看 dataFileDataRow,查看 ItemArray 属性并看到二进制数据位于 ItemArray 中的位置 5。
我尝试使用它的索引直接访问 ItemArray,但字节数组没有被复制到 fileFromDatabase 变量。
我还注意到将 fileFromDatabase 添加到我的手表会产生此错误:
“当前上下文中不存在名称‘fileFromDatabase’”
执行仍然与 fileFromDatabase 的定义在同一个块中,所以我不明白它是如何脱离上下文的。
我将 Visual Studio 的配置设置为 Release 而不是 Debug。这导致我在尝试检查 fileFromDatabase 时看不到我正在寻找的实时调试信息。从 Release 切换到 Debug 后,我现在可以在手表中看到变量,并且可以验证上面的代码是否正常工作。