| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1100 人关注过本帖
标题:[转帖]ASP.NET如何存取SQL Server数据库图片
只看楼主 加入收藏
水易雨辰
Rank: 1
等 级:新手上路
帖 子:177
专家分:0
注 册:2004-4-15
收藏
 问题点数:0 回复次数:6 
[转帖]ASP.NET如何存取SQL Server数据库图片

SQL Server提供了一个特别的数据类型:image,它是一个包含binary数据的类型。下边这个例子就向你展示了如何将文本或照片放入到数据库中的办法。在这篇文章中我们要看到如何在SQL Server中存储和读取图片。    1、建立一个表:    在SQL SERVER中建立这样结构的一个表:

列名 类型 目的
ID Integer 主键ID
IMGTITLE Varchar(50) 图片的标题
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.
搜索更多相关主题的帖子: 数据库 SQL NET Server ASP 
2004-11-14 17:18
idle0206
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2004-12-9
收藏
得分:0 
多谢分享!~~~~~~~~~~~~
2004-12-09 12:21
ldk4k
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2004-12-15
收藏
得分:0 
謝謝啦,我終于知道怎么存取圖片。
2004-12-15 15:51
cy820202
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-2-23
收藏
得分:0 
我用的和你相同的方法,但是怎样让图片显示在Image控件里???我试了很多次都不成功
2005-02-23 10:31
cfchenyang
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-4-13
收藏
得分:0 
多谢

QQ303436172
2006-04-16 17:49
long880210
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-4-17
收藏
得分:0 

多谢了

2006-04-17 13:27
smoon
Rank: 1
等 级:禁止访问
帖 子:461
专家分:0
注 册:2006-4-29
收藏
得分:0 

学习中 真的很好 先收下拉


QQ:860660016
网站:http://
承接各种C#项目中。。。。。
2006-11-12 11:14
快速回复:[转帖]ASP.NET如何存取SQL Server数据库图片
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041797 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved