@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

SQL Server Image型をWebで表示するには

1
投稿者投稿内容
まろもわん
会議室デビュー日: 2002/09/18
投稿数: 2
投稿日時: 2002-09-18 23:13
はじめまして

<ASP.NET Webアプリケーション>
SQL Server 2000 からImage型のデータ(JPEG画像)を取ってきて
WEB画面に一覧表示するようなページを作りたいのですが

ASP.NETを使うのがはじめてなもので、
チュートリアルなどあれば助かるのですが
うりゅう
大ベテラン
会議室デビュー日: 2002/06/15
投稿数: 202
お住まい・勤務地: Hiroshima
投稿日時: 2002-09-19 10:05
まろもわんさん、こんにちは。うりゅうです。

>SQL Server 2000 からImage型のデータ(JPEG画像)を取ってきて
>WEB画面に一覧表示するようなページを作りたいのですが
>ASP.NETを使うのがはじめてなもので、
>チュートリアルなどあれば助かるのですが

 質問されている内容の幅が広大なので(笑)ちょっと答えにくいように思います。具体的にどこの部分が分からないか書いてもらえば回答も出てくると思います。もしくは、実装の流れそのものがわからないのかですね。
_________________
--------------------------------------
ネットビルド 小田原貴樹
odahara@netbuiuld.jp
--------------------------------------
まろもわん
会議室デビュー日: 2002/09/18
投稿数: 2
投稿日時: 2002-09-19 14:07
レスありがとうございます。
すいません。確かに広すぎます。

Image型のフィールドにJPEGファイルが格納されているものとして
そのデータセットを取得した後、
このデータをWEB画像表示できるようなコントロールってありますか?

マイクロソフトのページでこういうやり方は見つけたのですが・・・
http://support.microsoft.com/default.aspx?scid=kb;ja;JP173308
うりゅう
大ベテラン
会議室デビュー日: 2002/06/15
投稿数: 202
お住まい・勤務地: Hiroshima
投稿日時: 2002-09-20 14:21
>Image型のフィールドにJPEGファイルが格納されているものとして
>そのデータセットを取得した後、
>このデータをWEB画像表示できるようなコントロールってありますか?

標準コントロールにはありません。SQLServerのImage型は、.NET側ではBYTE配列として扱う必要があり、かなり難解で面倒な処理になります。

特別な理由がないようでしたら、あまりお勧めできないです。

_________________
--------------------------------------
ネットビルド 小田原貴樹
odahara@netbuiuld.jp
--------------------------------------
JIN
会議室デビュー日: 2002/07/03
投稿数: 8
投稿日時: 2002-09-23 08:13
テーブルが、
IMAGE_ID int32
MIMETYPE varchar(32)
IMAGE_DATA image
とするならば、以下の様なコードで取れます。

System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.Connection = this.sqlConnection;
cmd.CommandText = "select * from IMAGE_DATA where IMAGE_ID = @IMAGE_ID";
cmd.Parameters.Add("@IMAGE_ID", SqlDbType.Int).Value = <IMAGE_IDの指定>;

this.sqlConnection.Open();

System.Data.SqlClient.SqlDataReader reader = cmd.ExecuteReader();
reader.Read();
Response.ContentType = (string)reader["MIMETYPE"];
byte[] byteImage = (byte[])reader["IMAGE_DATA"];
Response.OutputStream.Write(byteImage, 0, byteImage.Length);
Response.End();
reader.Close();

this.sqlConnection.Close();

でできますよっ
1

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