

SqlDataReaderでimageデータ型のbyte配列をデータ型で取り出したい。

今のところ `sqldatareader.getbytes()` を使うやり方があるみたいだけど使い方がわからない。


CC BY-SA 4.0
2023-06-14T01:29:43.707
95219
2023-06-14T07:19:08.373
2023-06-14T01:31:45.120
3060
58668
question
c# azure
Azure SQL Databaseに入れたimage型のデータ型をbyte[]で取り出したい


`image`型は[`SqlDataReader.GetStream()`](https://learn.microsoft.com/ja-
jp/dotnet/api/system.data.sqlclient.sqldatareader.getstream?view=dotnet-plat-
ext-7.0)で取得します。


CC BY-SA 4.0
2023-06-14T02:13:50.360
95221
2023-06-14T02:13:50.360
4236
95219
answer


> SqlDataReaderでimageデータ型のbyte配列をデータ型で取り出したい。

Item プロパティで当該 Image 列の値を取得し、byte[] にキャストすれば取れます。

SqlDataReader.Item[] プロパティ  
<https://learn.microsoft.com/ja-
jp/dotnet/api/system.data.sqlclient.sqldatareader.item>

例えば以下の Photo という image のフィールドの場合、

[![画像の説明をここに入力](https://i.stack.imgur.com/LdilP.jpg)](https://i.stack.imgur.com/LdilP.jpg)

以下の通り Item プロパティを使って値を取得し、byte[] にキャストすれば取れます。

[![画像の説明をここに入力](https://i.stack.imgur.com/7aJcm.jpg)](https://i.stack.imgur.com/7aJcm.jpg)


CC BY-SA 4.0
2023-06-14T05:28:08.513
95226
2023-06-14T07:19:08.373
2023-06-14T07:19:08.373
51338
51338
95219
answer