当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 在ASP.NET中从SQL Server检索图片

ASP.NET
二级域名Cookie问题的解决方法
如何为asp.net网站项目添加子项目
asp.net用url重写URLReWriter实现任意二级域名
asp.net 序列化and反序列化演示
asp.net Timer的使用方法
AjaxControlToolKit DropDownExtender(下拉扩展控件)使用方法
AjaxControlToolKit CalendarExtender(日历扩展控件)的使用方法
让GridView只显示特定用户的数据的方法
让GridView只更新某些特定的数据的方法
ajaxControlToolkit中CascadingDropDown的用法说明
axp.net ScriptManager的简单用法
把程序集安装到全局程序集缓存中的步骤
引用全局程序集缓存内的程序集的方法
asp.net COOKIES需要注意的一点
asp.net UrlReWriter使用经验小结
页面导出为Excel的时间格式的问题
asp.net cookie清除的代码
Asp.net XMLHTTP封装类(GET,Post发送和接收数据)
ASP.NET XmlHttp跨域访问实现代码
Asp.NET 随机码生成基类(随机字母,随机数字,随机字母+数字)

在ASP.NET中从SQL Server检索图片


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 179 ::
收藏到网摘: n/a

和存储图片相比,读取图片就要简单多了。输出一副图片我们要做的就是使用Response对象的BinaryWrite方法。

同时设置图片的格式。在这篇文章中,我们将讨论如何从SqlServer中检索图片。并将学习以下几个方面的知识。

·如何设置图片的格式?

·如何使用BinaryWrite方法。

我们已经在Person表中存储了数据,那么我们就写些代码来从表中读取数据。

下面的代码检索了所有的值从Person表中。

从sqlserver中读取图片的代码。

PublicSubPage_Load(senderAsObject,eAsEventArgs)
DimmyConnectionAsNewSqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
DimmyCommandAsNewSqlCommand("Select*fromPerson",myConnection)
Try
myConnection.Open()
DimmyDataReaderasSqlDataReader
myDataReader=myCommand.ExecuteReader(CommandBehavior.CloseConnection)

DoWhile(myDataReader.Read())
Response.ContentType=myDataReader.Item("PersonImageType")
Response.BinaryWrite(myDataReader.Item("PersonImage"))
Loop

myConnection.Close()
Response.Write("Personinfosuccessfullyretrieved!")
CatchSQLexcAsSqlException
Response.Write("ReadFailed:"&SQLexc.ToString())
EndTry
EndSub

看看他是怎么工作的?

上面的例子很简单。我们所作的就是执行一个sql语句,再循环读取所有的记录(loopingthroughalltherecords).

在显示图片之前,我们先设置了图片的contentType,然后我们使用BinaryWrite方法把图片输出到浏览器。

源代码:

///retriving.aspx

<%@PageLanguage="vb"%>
<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Data.SqlClient"%>
<HTML>
<HEAD>
<title>RetrievingImagefromtheSqlServer</title>
<scriptrunat=server>
PublicSubPage_Load(senderAsObject,eAsEventArgs)
'CreateInstanceofConnectionandCommandObject
DimmyConnectionAsNewSqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
DimmyCommandAsNewSqlCommand("Select*fromPerson",myConnection)
Try
myConnection.Open()
DimmyDataReaderasSqlDataReader
myDataReader=myCommand.ExecuteReader(CommandBehavior.CloseConnection)

DoWhile(myDataReader.Read())
Response.ContentType=myDataReader.Item("PersonImageType")
Response.BinaryWrite(myDataReader.Item("PersonImage"))
Loop

myConnection.Close()
Response.Write("Personinfosuccessfullyretrieved!")
CatchSQLexcAsSqlException
Response.Write("ReadFailed:"&SQLexc.ToString())
EndTry
EndSub

</script>
</HEAD>
<bodystyle="font:10ptverdana">
</body>
</HTML>