CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

关于在页面的指定位置显示sql server image类型的数据的问题

楼主spfft007(自由鸟)2004-09-04 18:08:36 在 .NET技术 / ASP.NET 提问

问题如下:  
          我希望能在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

关键词

  • 页面
  • 数据
  • 数据库
  • imgdata
  • imgtype
  • imgtitle
  • 保存
  • 类型
  • 图片
  • image

得分解答快速导航

  • 帖主:spfft007
  • pingnt
  • tavor
  • noahart
  • wangrenda
  • cuike519
  • gaofeng2000
  • jamzh
  • SuperFC
  • kissmett

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo