关于在页面的指定位置显示sql server image类型的数据的问题
问题如下:
我希望能在table的指定的td里显示出我从sql server里
取到的image类型数据,不知道有没有办法做到?
我所知道的一般在页面上显示sql server image类型数据
的方法如下:
1.从sql server中取到的image类型的数据,将其存储到
byte[]数组里面
2.设置Response.ContentType="image/gif"
3.用Response.BinaryWrite方法显示出来
但我不知道该如何指定位置。
请高人指点一下,非常感谢!
问题点数:100、回复次数:13Top
1 楼pingnt(淡蓝色的雪)回复于 2004-09-04 18:12:08 得分 10
有时候我们需要保存一些binary data进数据库。SQL Server提供一个叫做image的特殊数据类型供我们保存binary data。Binary data可以是图片、文档等。在这篇文章中我们将看到如何在SQL Server中保存和输出图片。
建表
为了试验这个例子你需要一个含有数据的table(你可以在现在的库中创建它,也可以创建一个新的数据库),下面是它的结构:
Column Name
Datatype
Purpose
ID
Integer
identity column Primary key
IMGTITLE
Varchar(50)
Stores some user friendly title to identity the image
IMGTYPE
Varchar(50)
Stores image content type. This will be same as recognized content types of ASP.NET
IMGDATA
Image
Stores actual image or binary data.
保存images进SQL Server数据库
为了保存图片到table你首先得从客户端上传它们到你的web服务器。你可以创建一个web form,用TextBox得到图片的标题,用HTML File Server Control得到图片文件。确信你设定了Form的encType属性为multipart/form-data。
Stream imgdatastream = File1.PostedFile.InputStream;
int imgdatalen = File1.PostedFile.ContentLength;
string imgtype = File1.PostedFile.ContentType;
string imgtitle = TextBox1.Text;
byte[] imgdata = new byte[imgdatalen];
int n = imgdatastream.Read(imgdata,0,imgdatalen);
string connstr=
((NameValueCollection)Context.GetConfig
("appSettings"))["connstr"];
SqlConnection connection = new SqlConnection(connstr);
SqlCommand command = new SqlCommand
("INSERT INTO ImageStore(imgtitle,imgtype,imgdata)
VALUES ( @imgtitle, @imgtype,@imgdata )", connection );
SqlParameter paramTitle = new SqlParameter
("@imgtitle", SqlDbType.VarChar,50 );
paramTitle.Value = imgtitle;
command.Parameters.Add( paramTitle);
SqlParameter paramData = new SqlParameter
( "@imgdata", SqlDbType.Image );
paramData.Value = imgdata;
command.Parameters.Add( paramData );
SqlParameter paramType = new SqlParameter
( "@imgtype", SqlDbType.VarChar,50 );
paramType.Value = imgtype;
command.Parameters.Add( paramType );
connection.Open();
int numRowsAffected = command.ExecuteNonQuery();
connection.Close();
Top
2 楼tavor(毕业了,一个星星找工作,现在终于找到了,要转J2EE了)回复于 2004-09-04 18:15:39 得分 30
看
http://dotnet.aspx.cc/ShowDetail.aspx?id=2A5DD7C6-A45A-48AB-A2E8-342A29F17506
http://dotnet.aspx.cc/ShowDetail.aspx?id=ECD9AE16-8FF0-4A1C-9B9F-5E8B641CB1B1Top
3 楼noahart(八卦小子)回复于 2004-09-04 18:22:07 得分 10
答非所问!
把图片流写到页面上
显示的位置没发用<td>来定位,好像不管用.
试试:在<td>里放一个iframe来控制.把显示图片的页面放iframe里
Top
4 楼wangrenda(浪人)回复于 2004-09-04 18:23:58 得分 10
把图片页镶嵌到页面里,大都这么做的Top
5 楼cuike519(I will be back!)回复于 2004-09-04 18:24:28 得分 10
使用一个页面来显示图片!
孟老大的文章里面有这个例子可以参考!Top
6 楼gaofeng2000(高老师)回复于 2004-09-04 18:34:47 得分 10
<td><img src=show.aspx?ID=888></td>
show.aspx的page_load中写读图片流的代码Top
7 楼tavor(毕业了,一个星星找工作,现在终于找到了,要转J2EE了)回复于 2004-09-04 21:13:03 得分 0
TO:noahart(八卦小子)
呵呵,什么答非所问啊
例子给的就是image控件,结合页面来做的,标准的定位,怎么会答非所问Top
8 楼jamzh(Show me the money!!!)回复于 2004-09-04 22:17:26 得分 5
学习下!~Top
9 楼SuperFC(●捡分e族●)回复于 2004-09-04 22:52:30 得分 5
学习ing,mark一下Top
10 楼kissmett(雨岸一帆)回复于 2004-09-05 04:49:04 得分 10
http://ulinkdir.tom.com/tomulink/2004/05/17/ent_20040517175836.html?d=www.pcsky.cn&u=http%3A//www.pcsky.cn/ads/ad_txt_tom300.htm&t=1084794443500
看看这个是怎样用C#+Sql Server存取图像的Top
11 楼spfft007(自由鸟)回复于 2004-09-06 09:51:47 得分 0
谢谢大家的参已,问题已经解决,特别感谢tavor(龙双公子) 提供的资料。
我过一段时间在结帖,让有需要的朋友也能看看。Top
12 楼spfft007(自由鸟)回复于 2004-09-08 16:32:44 得分 0
up一下Top
13 楼spfft007(自由鸟)回复于 2004-09-09 09:46:52 得分 0
up一下Top
相关问题
- [DBNMPNTW]找不到指定的 SQL Server
- [ODBC SQL Server Driver][Name Pipes]没有发现指定的SQL Server???
- 使用SQL server,能否在指定位置插入新记录?
- 在j2ee的deploytool中如何指定sql server数据库的jndi?
- 如何连接指定ip地址的SQL Server数据库?
- 如何连接指定ip地址的SQL Server数据库?
- 如何在SQL Server中查询指定行
- 如何在SQL Server中查询指定行
- [DBNMPNTW]找不到指定的 SQL Server错误
- 高手请进:[DBNMPNW]找不到指定的SQL SERVER




