У меня есть DataSet с DataTable, который правильно заполняет один DataRow через 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 и увидеть, что двоичные данные находятся в позиции 5 в ItemArray.
Я попытался получить доступ к ItemArray напрямую, используя его индекс, но массив байтов не копируется в переменную fileFromDatabase.
Я также заметил, что добавление fileFromDatabase в мои часы вызывает эту ошибку:
"The name 'fileFromDatabase' does not exist in the current context"
Выполнение все еще находится в том же блоке, что и определение fileFromDatabase, поэтому я не понимаю, как это было бы вне контекста.
У меня была конфигурация Visual Studio, установленная на Release вместо Debug. Это заставляло меня не видеть отладочную информацию в реальном времени, которую я искал, пытаясь проверить fileFromDatabase. После переключения с выпуска на отладку я теперь могу видеть переменную в часах и могу убедиться, что приведенный выше код работает правильно.





Приведенный выше код работает, убедитесь, что вы настроили отладчик для компиляции для отладки, а не для выпуска.
Кит
Пожалуйста, укажите, на каком языке вы работаете.