Tengo un DataSet
con un DataTable
que llena correctamente un solo DataRow
a través de un TableAdapter
.¿Cómo se lee una matriz de bytes de un DataRow en C#?
soy capaz de extraer datos de DataRow con código como este:
dataFileID = (int)this.dataFileDataRow["DataFileID"];
dataFileName = (string)this.dataFileDataRow["DataFileName"];
dataFileDate = (DateTime)this.dataFileDataRow["DataFileDate"];
tengo otra columna llamada DataFile de tipo varbinary(max)
.
Cuando intento extraer los datos de esa columna del mismo DataRow
que el anterior, no obtengo nada.
byte[] fileFromDatabase = (byte[])this.dataFileDataRow["DataFile"];
Si pongo un punto de ruptura en este lugar, puedo mirar en el dataFileDataRow, mira en la propiedad ItemArray y ver que los datos binarios está sentado en la posición 5 en el ItemArray.
He intentado acceder al ItemArray directamente usando su índice pero la matriz de bytes no se está copiando a la variable fileFromDatabase.
También he notado que la adición de fileFromDatabase a mi reloj produce este error:
"The name 'fileFromDatabase' does not exist in the current context"
La ejecución se encuentra todavía en la misma manzana que la definición de fileFromDatabase por lo que no entiendo cómo sería fuera de contexto .
Tenía la configuración de Visual Studio establecida en Release en lugar de Debug. Esto me estaba haciendo no ver la información de depuración en tiempo real que estaba buscando al intentar examinar fileFromDatabase. Después de cambiar de Release a Debug, ahora puedo ver la variable en el reloj y puedo verificar que el código anterior funciona correctamente.
Por favor, especifique el idioma que se está trabajando. –
estoy escribiendo en C# –