首页 > 编程 > .NET > 正文

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

2024-07-10 12:55:28
字体:
来源:转载
供稿:网友
和存储图片相比,读取图片就要简单多了。输出一副图片我们要做的就是使用response对象的binarywrite方法。

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



  ·如何设置图片的格式?

  ·如何使用binarywrite方法。

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

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

  从sqlserver中读取图片的代码。

public sub page_load(sender as object, e as eventargs)
dim myconnection as new sqlconnection(configurationsettings.appsettings("connectionstring"))
dim mycommand as new sqlcommand("select * from person", myconnection)
try
myconnection.open()
dim mydatareader as sqldatareader
mydatareader = mycommand.executereader(commandbehavior.closeconnection)

do while (mydatareader.read())
response.contenttype = mydatareader.item("personimagetype")
response.binarywrite(mydatareader.item("personimage"))
loop

myconnection.close()
response.write("person info successfully retrieved!")
catch sqlexc as sqlexception
response.write("read failed : " & sqlexc.tostring())
end try
end sub
  看看他是怎么工作的?

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

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

  源代码:

/// retriving.aspx

<%@ page language="vb" %>
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.sqlclient" %>
<html>
<head>
<title>retrieving image from the sql server</title>
<script runat=server>
public sub page_load(sender as object, e as eventargs)
' create instance of connection and command object
dim myconnection as new sqlconnection(configurationsettings.appsettings("connectionstring"))
dim mycommand as new sqlcommand("select * from person", myconnection)
try
myconnection.open()
dim mydatareader as sqldatareader
mydatareader = mycommand.executereader(commandbehavior.closeconnection)

do while (mydatareader.read())
response.contenttype = mydatareader.item("personimagetype")
response.binarywrite(mydatareader.item("personimage"))
loop

myconnection.close()
response.write("person info successfully retrieved!")
catch sqlexc as sqlexception
response.write("read failed : " & sqlexc.tostring())
end try
end sub

</script>
</head>
<body >
</body>
</html>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表