当前位置: 首页 > 图文教程 > 网络编程 > ASP > 从ASP调用SQL中的图像

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

从ASP调用SQL中的图像


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

  从ASP调用SQL中的图像


eNet学院


关键词:Sql Server, ADO

如何处理ASP中的图象

在用ASP编程中,很多时侯要用到图象。对于单纯从数据库中处理一个图象,方法大家讲了很多,也不难,

可以看下面的代码:

这里假设你有个数据库名字叫:PUBS,在数据库中有一个叫:PUB_INFO的表,在表中有一个LOGO

的BLOB列。我们查出PUB_ID=0736的人的相片。

FILE: SHOWIMG.ASP

***************************************

<%@ LANGUAGE="VBSCRIPT" %>

<%

' Clear out the existing HTTP header information

Response.Expires = 0

Response.Buffer = TRUE

Response.Clear

' Change the HTTP header to reflect that an image is being passed.

Response.ContentType = "image/gif"

Set cn = Server.CreateObject("ADODB.Connection")

' The following open line assumes you have set up a System DataSource

' by the name of myDSN.

cn.Open "DSN=myDSN;UID=sa;PWD=;DATABASE=pubs"

Set rs = cn.Execute("SELECT logo FROM pub_info WHERE pub_id='0736'")

Response.BinaryWrite rs("logo")

Response.End

%>

*****************************************

执行这个ASP文件就可以看到你存在数据库中的图象了。

但如果是同时处理文字和图象就会有些困难了:-(

比如:一个企业的人员管理,后台数据库可以用SYBASE或SQL SERVER等。(我在这用SQL SERVER)当

你在企业内部需要用到BROWSE/SERVER方式,即用浏览器查看员工的个人信息时,就即要处理文字信息同时

还要用到关于图象的技巧。

问题在于你显示文字信息时HTML的HEAD中的CONTENT=“TEXT/HTML”,而显示图象则必须是

CONTENT=“IMAGE/GIF”或者是CONTENT=”IMAGE/JPEG“。因此你是无法只用一个ASP文件就把文字信息和

图象都处理完的,解决的办法是:用一个单独的ASP文件处理图象,然后在处理文字信息的ASP文件中调用

这个ASP文件。

在这给大家介绍一个我的解决方法,希望大家一起讨论:

环境:WINNT4.0 SQL SERVER IIS3.0

数据库名:RSDA

表名:RSDA_TABLE

目的:从RSDA_TABLE中查出ID=00001的人员的信息,包括姓名,年龄和照片

第一步:创建一个查询表单RSDA.HTM:

**********************************

<html>

<head>

</head>

<body>

<form method="POST" action="SEARCH.ASP">

<p>请输入编号:<input type="text" name="T1" size="20"><input

type="submit" value="提交" name="B1"><input type="reset" value="复原" name="B2"></p>

</form>

</body>

</html>

***********************************

第二步:建立SEARCH.ASP

***********************************

<html>

<head>

<meta http-equiv="content-type" content="text/html;charset=gb2312">

<title>查询结果</title>

</head>

<body bgColor=Azure>

<%

session("RSDA_ID")=Request.Form("T1") '这里我用了一个SESSION变量,是为了在处理图象的ASP文件中再次调用

temp_id=session("RSDA_ID")

<font size=4 color=OrangeRed> 查询结果:</font>

<%set conntemp=server.createobject("adodb.connection")

conntemp.open "dsn=RSDA;uid=sa;pwd=SA"

set rstemp=conntemp.execute("select * from RSDA_TABLE where rsda='"&temp_id&"'")

%>

<% 'put headings on the table of field names

nobody="对不起!在我们的数据库里没有您要找的资料!"%> '判断是否有这个人

<%if rstemp.eof then %>

<font size="5" color=OrangeRed> <%Response.Write(nobody)%></font>

<%else%>

<div align="center">

<center>

<table border="1" width="73%" height="399">

<tr>

<td width="21%" height="49" align="cent