- PR -

SQLServer2000のテーブルのImage列にJPEGファイルをセット

1
投稿者投稿内容
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-06-27 10:10
 おはようございます。

1つみなさんにお聞きしたいことがあります。
SQLServer2000のテーブルのImage列にJPEGファイルをセットする方法を
教えて下さい。

DTSでもなさそうですし・・

すいません、宜しくお願いします。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2007-06-27 11:26
普通にJPEGをバイト配列で挿入すればいいと思いますけど、どの部分がわからないのでしょうか?
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-06-27 11:38
burton999さん、すいません。

まずしたいことは、jpegファイルをSQLServer2000のテーブルに登録したいのと
今度は、その登録したものをSQLServer2000から取り出しVBのFORM上のピクチャボックス
に表示させたいのです。

そこでいろいろ調べましたら
AppendChunkメソッド、GetChunkメソッドというものがADOにはあり
何とか登録はできるようになりましたが
今度は取出してピクチャボックスに表示させることができないのです。

SQLServer2000からは、画像の取り込みが簡単になったと書いてありましたが
具体的な方法が書いてありませんでした。

SQLServerのクエリーで画像の列を見ますとどうもバイナリ型になっているのでしょうか

これをまた画像の型にしてVBのピクチャボックスに表示させたいのですが

ご教授をお願いします。

 
IIJIMAS
ベテラン
会議室デビュー日: 2006/12/06
投稿数: 77
投稿日時: 2007-06-27 12:09
ご使用のVBのバージョンは何ですか。
もしVB.NET, VB2005であれば、以下のページが参考になると思います。

Visual Basic .NET で ADO.NET を使用して BLOB データの読み取りや書き込みを行う方法
http://support.microsoft.com/kb/308042/ja

#ADOって書いてあるから.NETじゃないのでしょうか。
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-06-27 13:25
IIJIMASさん、大変参考になりました。

最後に大変恐縮なのですが、できればピクチャボックスに
表示させたいのですが、Button2ではSQLServerから取り出し
画像ファイルとして書き出していますが
どのようにコードの1部を変更するのか
教えていただけませんか?

IIJIMAS
ベテラン
会議室デビュー日: 2006/12/06
投稿数: 77
投稿日時: 2007-06-27 14:13
PictureBox クラス
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.picturebox(VS.80).aspx
のMSDNライブラリ(ヘルプ)はご覧になっていますか。
質問投稿するよりもヘルプや検索サイトでの検索結果を利用しつつ自分でやってみた方が早いと思うのですが。。。
あと、質問する場合も最初の投稿でご希望の回答を得やすいように、環境や状況などをより具体的に記述願います。

C#ですが、こんなKBページもあります。
[HOWTO] Visual C# でデータベースから PictureBox コントロールに画像を直接コピーする方法
http://support.microsoft.com/kb/317701/ja

PictureBox.Image プロパティにImage.FromStream メソッド やImage.FromFile メソッド
で作成したimageインスタンスを設定します。
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.picturebox.image(VS.80).aspx
http://msdn2.microsoft.com/ja-jp/library/system.drawing.image.fromstream(VS.80).aspx
http://msdn2.microsoft.com/ja-jp/library/system.drawing.image.fromfile(VS.80).aspx

byte[]からStreamに変換するのはMemoryStream クラスを使います。
http://msdn2.microsoft.com/ja-jp/library/system.io.memorystream(VS.80).aspx

ImageConverter クラスを使用するやり方もあるようです。
http://msdn2.microsoft.com/ja-jp/library/system.drawing.imageconverter(VS.80).aspx
@IT > Insider.NET > .NET TIPS > バイト配列→画像オブジェクト/画像オブジェクト→バイト配列の変換を行うには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/603byteimage/byteimage.html
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-06-28 14:23
IIJIMASさん、ご返答ありがとうございます。

 参考にさせて頂き

Public Shared Function ByteArrayToImage(ByVal b As Byte()) As Image
Dim img As Image = CType(imgconv.ConvertFrom(b), Image)
Return img
End Function

 を利用しようかと思いますが
imgconvが宣言されていませんになってしまいます。

Imports System.Drawingも書きましたが...

対応を教えて頂けませんか?


LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-06-28 16:47
IIJIMASさん、すいません。
書き違えていました。

おかげで、表示することもできました。

最後まで、ありがとうございました。

1

スキルアップ/キャリアアップ(JOB@IT)