「ほっ」と。キャンペーン
(.Net)Imageオブジェクトとバイト配列相互変換
(.Net,SQL)SQL Server 2005に画像データ(バイナリ)を保存したいの追加情報です。
この記事の最後のほうで、一時ファイルを使わずに直に Image とバイト配列に変換できる方法を探す と言ってましたが、@IT バイト配列→画像オブジェクト/画像オブジェクト→バイト配列の変換を行うには?で載ってました。

ということで下記のように(@ITのコードそのままですが)したら、DBへの保存とDBからの読み出しともにOKでした。
※picPohto1 はPictureBoxコントロール。
'保存
'Imageをバイナリ(Byte配列)にコンバートする
Dim imgconv As New ImageConverter()
Dim byt1 As Byte() = CType(imgconv.ConvertTo(Me.picPhoto1.Image, GetType(Byte())), Byte())
'DataSetを使ってデータ挿入
Dim adp As DataSet1TableAdapters.CustomerTableAdapter = New DataSet1TableAdapters.CustomerTableAdapter();
adp.InsertQuery(1, "テスト太郎", byt1);
 
'読み込み
Dim tbl As New DataSet1.CustomerDataTable()
adp.FillByID(tbl, 1)
'DBにはバイナリ(Byte配列)なので、Imageにコンバートする
Dim imgconv2 As New ImageConverter()
Me.picPhoto1.Image = CType(imgconv2.ConvertFrom(tbl.Rows(0).Item("img")), Image)

[PR]
by jehoshaphat | 2009-04-29 01:24 | .Net開発 | Trackback | Comments(0)
トラックバックURL : http://jehupc.exblog.jp/tb/10139602
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。


<< Google Desktop ... (.Net).Netアプリケー... >>