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

news/2024/7/6 0:54:42
介绍:
这篇文章是我写的"如何把图片存入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>

http://lihuaxi.xjx100.cn/news/226117.html

相关文章

计算机原理

计算机组成 计算机的组成CPU存储器&#xff08;主存和辅存&#xff09;输出/输入 CPU的组成&#xff1a;运算器控制器 CPU主要功能&#xff1a;通过从主存储器中逐条进行取指令&#xff0c;分析指令和执行指令的过程来执行计算机程序。用总线连接组成的部件&#xff0c;用总线来…

VC使用ActiveX控件常见问题

转自&#xff1a;http://lingchuangsong.blog.163.com/blog/static/126932322008631104133309/ 一方面&#xff0c;它表示将你联系到Microsoft、Internet和业界的新技术的小型快速的可重用组件。它与开发语言无关&#xff0c;任何支持 ActiveX控件的软件开发平台&#xff08;如…

python以下字符串合法的是_以下字符串合法的是().

【单选题】关于科学和人文的关系,说法不正确的一项是( )【单选题】下列语句中,___________是不正确的Python语句。【多选题】以下属于人机交互方式的是()。【单选题】下面选项中,____________不是Python合法的变量名。【单选题】阅读下面代码,选择正确的输出结果 ___ 。 grade …

lintcode-136-分割回文串

136-分割回文串 给定一个字符串s&#xff0c;将s分割成一些子串&#xff0c;使每个子串都是回文串。 返回s所有可能的回文串分割方案。 样例 给出 s "aab"&#xff0c;返回 [ ["aa", "b"], ["a", "a", "b"] ] 标…

如何在ASP.Net 中把图片存入数据库

介绍 可能有很多的时候&#xff0c;我们急需把图片存入到数据库当中。在一些应用程序中&#xff0c;我们可能有一些敏感的资料&#xff0c;由于存储在文件系统&#xff08;file system&#xff09;中的东西&#xff0c;将很容易被某些用户盗取&#xff0c;所以这些数据不能存…

vs2008 外部调用ActiveX控件接口方法

转自&#xff1a;http://topic.csdn.net/u/20090605/16/018e26e9-06e2-4e0d-8099-bc8eb326afde.html sndaxdrs: 初学activeX &#xff0c;我写的一个 activeX控件测试程序。 分别调用两个 自定义方法&#xff0c; 分别出现 “找不到成员”&#xff0c;和“非选择性的参数”的提…

MySQL闪退问题的解决

刚刚学习了数据库&#xff0c;并且安装了MySQL&#xff0c;正当高兴之余&#xff0c;发现我的MySQL出现了闪退的显现。上网搜了好久的解决方案。最后解决了这个问题&#xff0c;也舒心了。 问题从这里开始&#xff1a; 接着我打开MySQL&#xff0c;寻思能不能用&#xff0c;结果…

asp.net中显示DataGrid控件列序号的几种方法

在aps.net中多数据绑定的控件很多&#xff0c;论功能来说&#xff0c;应该属DataGrid最为齐全&#xff0c;但它没有提供现成的显示记录序号的功能&#xff0c;不过我们可以通过它所带的一些参数来间接得到序号&#xff0c;下面来看看怎样得到和显示序号值计算方式如下&#xff…