关闭

在Asp.Net中从sqlserver检索(retrieve)图片

标签: sqlserverasp.netobjectimportcommand存储
558人阅读 评论(0) 收藏 举报

出处:www.ASPAlliance.com

介绍:
这篇文章是我写的"如何把图片存入sqlServer中"的后续。我建议你在读这篇文章之前先看看那篇。
和存储图片相比,读取图片就要简单多了。输出一副图片我们要做的就是使用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 style="font: 10pt verdana">
  </body>
</HTML>

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1374784次
    • 积分:19879
    • 等级:
    • 排名:第412名
    • 原创:448篇
    • 转载:1067篇
    • 译文:4篇
    • 评论:143条
    文章存档
    最新评论