- - PR -
object型からImage型への変換
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-15 13:40
【環境】
C#.NET 2003 Win2000 Access2000 AccessテーブルのOLE オブジェクト型フィールドに埋め込まれたJpgファイルをImage型の変数(またはImageList)に代入する方法がわかりません。 ImageConverterクラスのConvertFromメソッドを使用して変換を行おうと思っていますが、 ConvertFromの引数の指定がどうしても分かりません。 どなたかご教授願います。また他の方法で出来るのであればそちらもご教授願います。 下記のようなコードで行っています。 private void ImageConvert() { System.Drawing.Image im; string SQL = "select PARTS_PIC from PARTS where PARTS_CODE='hogehoge'"; rdrSQL(SQL); while (rdr.Read()) { ImageConverter ic = new ImageConverter(); im = (Image)ic.ConvertFrom([ITypeDescriptorContext],[CultureInfo],rdr[0]);←ここの引数の指定が分かりません (処理...) } rdr.Close(); } public void rdrSQL(string SQL) { OleDbCommand cmd = new OleDbCommand(); cmd = conn.CreateCommand(); cmd.CommandText = SQL; cmd.Transaction = trn; rdr = cmd.ExecuteReader(); } | ||||
|
投稿日時: 2004-10-15 14:03
googleで検索して一発ですが..
[HOWTO] Visual C# でデータベースから PictureBox コントロールに画像を直接コピーする方法 http://support.microsoft.com/default.aspx?scid=kb;ja;317701 にDataAdapterを使った方法があります。 また、
ので、ExecuteReaderでOLEオブジェクト列を扱えません。 [ メッセージ編集済み 編集者: todo 編集日時 2004-10-15 14:40 ] | ||||
|
投稿日時: 2004-10-15 15:56
ありがとうございました、なんとか解決致しました。
ただしテーブルにJpgファイルを直接入力(Accessテーブルの表示は「Microsoft Photo Editor 3.0 イメージ」になる)している場合は pictureBox1.Image = Image.FromStream(stmBLOBData);時に 以下のエラーメッセージが表示されました 「使用されたパラメータが無効です。」 http://support.microsoft.com/default.aspx?scid=kb;ja;316652 これはMSのバグのようです。 コード上から登録(Accessテーブルの表示は「ロングバイナリ―」になる)しコード上から表示する場合にはうまく行きました。 |
1