论坛登陆 注册 文章专区 投稿文章 旧版浏览
首页 | 页界资讯 | 安全动态 | 网络应用 | 组网技术 | 软件应用 | 工具软件 | 网管知识 | 帮助
文学 | 操作系统 | 注 册 表 | 编程语言 | 数 据 库 | 服 务 器 | 网页设计 | 图形图象 | VIP
论坛 | 网络安全 | 安全防范 | 黑客技术 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
专题 | 教育频道 | 特色专题 | 精文荟萃 | 聊天通讯 | 网络文学 | 论坛社区 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>数据库>>Mssql>>正文

在SQL Server中保存和输出图片

2005-11-16 7:02:12  作者:不详 来源:网络转载
在SQL Server中保存和输出图片:


 

介绍

    有时候我们需要保存一些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();

数据库中输出图片

     现在让我们从数据库中取出我们刚刚保存的图片,在这儿,我们将直接将图片输出至浏览器。你也可以将它保存为一个文件或做任何你想做的。

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();

}

    在上面的代码中我们使用了一个已经打开的数据库,通过datareader选择images。接着用Response.BinaryWrite代替Response.Write来显示image文件。

    希望您喜欢这些文章,如有任何意见和建议请致信webmaster@bipinjoshi.com   

上一篇:在SQL Server所在的计算机上运行病毒扫描软件
下一篇:在SQLServer中怎么样恢复数据的存储

关闭窗口】【浏览次数:】【发送给好友】【收藏此页
相关文章 最新文章 热门文章

·FreeHand 创建弯曲缩放效果
·FreeHand 创建页面卷边效果(3)
·FreeHand 创建页面卷边效果(2)
·FreeHand 创建页面卷边效果(1)
·FreeHand 绘制鲜花(2)
·FreeHand 绘制鲜花(1)
·FreeHand 创建空心封套(2)
·FreeHand 创建空心封套(1)
·FreeHand 创建CD光盘(2)
·FreeHand 创建CD光盘(1)
·QQ密码丢失后能做的事情:快速找回密码
·系统优化 专题
·免费代理IP(每日更新)
·找回QQ密码的注意事项 
·最经典的黑客入门教材
·怎样查找对方的IP地址
·求职简历封皮
·电脑初学者必备之Windows进程大全
·实战系统虚拟利器——MS VPC 2004
·史上最强QQ个人档案资料欣赏
评论 本站声明
【注】 发表评论必需遵守以下条例:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
  • 本站大部分为网络转载,如有版权问题,请通知我们,我们立即更正!

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2005 xker.com All rights reserved. 网站合作、广告联系QQ:12231446
小新技术网 冀ICP备05002857号