2008-11-12 104 views
7

我有一个DataSetDataTable正确填写一个DataRow通过TableAdapter如何从C#中的DataRow读取字节数组?

我能够从DataRow中的代码提取数据是这样的:

dataFileID = (int)this.dataFileDataRow["DataFileID"]; 
dataFileName = (string)this.dataFileDataRow["DataFileName"]; 
dataFileDate = (DateTime)this.dataFileDataRow["DataFileDate"]; 

我有一个名为数据文件varbinary(max)类型的另一列。

当我尝试从上述相同的DataRow中提取该列的数据时,我什么也得不到。

byte[] fileFromDatabase = (byte[])this.dataFileDataRow["DataFile"]; 

如果我把一个破发点,在这个位置,我可以看看到dataFileDataRow,窥视ItemArray财产和看到的二进制数据是坐在在ItemArray 5位。

我已经尝试直接使用其索引访问ItemArray,但字节数组未被复制到fileFromDatabase变量。

我也注意到,加入fileFromDatabase到我的收藏产生这个错误:

"The name 'fileFromDatabase' does not exist in the current context"

的执行仍然是在同一块fileFromDatabase的定义,所以我不明白怎么会断章取义。

我将Visual Studio的配置设置为Release而不是Debug。这导致我在尝试检查fileFromDatabase时看不到我正在查找的实时调试信息。从发布版切换到调试版后,我可以在手表中查看变量,并可以验证上述代码是否正常工作。

+0

请指定您正在使用的语言。 – 2008-11-12 19:37:57

回答

2

上面的代码工作,请确保您设置您的调试器为Debug,NOT Release编译。

Keith