网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

ASP.NET如何存取 SQLServer数据库图片

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/02/27

鉴于大家对ASP.net十分关注,我们编辑小组在此为大家搜集整理了“ASP.NET如何存取 SQLServer数据库图片”一文,供大家参考学习!

 SQL Server提供了一个特别的数据类型:image,它是一个包含binary数据的类型。下边这个例子就向你展示了如何将文本或照片放入到数据库中的办法。在这篇文章中我们要看到如何在SQL Server中存储和读取图片。
  
  1、建立一个表:
  在SQL SERVER中建立这样结构的一个表: 
 列名 类型 目的
 ID Integer 主键ID
 IMGTITLE Varchar(50) 图片的标题
 IMGTYPE Varchar(50) 图片类型
 ASP.NET要以辨认的类型 IMGDATA Image 用于存储二进制数据

     
      
    IMGTYPE Varchar(50) 
   图片类型. ASP.NET要以辨认的类型 IMGDATA Image 用于存储二进制数据 

  2、存储图片到SQL SERVER数据库中
  为了能存储到表中,你首先要上传它们到你的WEB 服务器上,你可以开发一个web form,它用来将客户端中TextBox web control中的图片入到你的WEB服务器上来。将你的 encType 属性设置为:myltipart/formdata.
  
  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(); 
  
  3、从数据库中恢复读取
  
  现在让我们来从SQL Server中读取我们放入的数据吧!我们将要输出图片到你的浏览器上,你也可以将它存放到你要的位置。
  
  private void Page_Load(object sender, System.EventArgs e)
  {
   string imgid =Request.QueryString["imgid"];
   string connstr=((NameValueCollection)
   Context.GetConfig("appSettings"))["connstr"];
   string sql="SELECT imgdata, imgtype FROM ImageStore WHERE id = " + imgid;
   SqlConnection connection = new SqlConnection(connstr);
   SqlCommand command = new SqlCommand(sql, connection);
   connection.Open();
   SqlDataReader dr = command.ExecuteReader();
   if(dr.Read())
   {
  Response.ContentType = dr["imgtype"].ToString();
  Response.BinaryWrite( (byte[]) dr["imgdata"] );
   }
   connection.Close();
  } 
  
  要注意的是Response.BinaryWrite 而不是Response.Write.

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号