网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.初学ASP编程易犯的一个错误要注意.
.在不支持FSO的服务器上使用XMLDO.
.输出带日期格式的随机数.asp.
.ASP中Cookie使用指南.
.不能ASP图像组件来生成图像的ASP.
.ASP提速技巧五则.
.remote script文档(转载自微软)(.
.ASP实现OICQ式的信息收发功能.
.Asp用于分页的两个函数.
.处理运行时间长的脚本以及内容大.
.在ASP中用集合成批操作数据库.
.ASP与JSP的比较(一) .
.rs.open与conn.execute详细解释.
.remote script文档(转载自微软)(.
.改进的ASP备份SQL Server数据库.
.ASP原码加密工具介绍.
.连接各种数据库的代码的总结.
.FileSystemObject处理文件.
.用ASP发 WAP MAIL(=).
.IIS 5.0新功能.

从ASP调用SQL中的图像

发表日期:2000-8-8


从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="center"><p align="center">姓 名</td>

<td width="30%" height="49" align="center">

<font size=4 color=OrangeRed><%=rstemp(0)%></font></td>

</td>

<tr>

<td width="21%" height="47"><p align="center">年 龄</td>

<td width="30%" height="47" align="center">

<font size=4 color=OrangeRed><%=rstemp(0)%></font></td>

</tr>

<tr>

<td width="49%" height="146" rowspan="3" colspan="2">

<img src="jpg.asp"></td> 'JPG.ASP就是我们将要建立的专门处理图象的ASP文件

</tr>

</table>

</center></div>

rstemp.close

set rstemp=nothing

conntemp.close

set conntemp=nothing

%>

</BODY>

</HTML>

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

第三步:建立处理图象的ASP文件。(JPG.ASP)

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

<%

Response.Expires = 0

Response.Buffer = TRUE

Response.Clear


' Open database

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

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

'change http header

Response.ContentType = "image/jpeg" ' or "IMAGE/GIF"


' Get picture


TEMP_ID=session("RSDA_ID")

Set Rs = conntemp.Execute("SELECT photo from RSDA_table where ID='"&TEMP_ID&"'")

Response.BinaryWrite Rs("photo")

Session.Abandon

Response.End

%>

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

这里主要就是用到了一个小技巧就是利用了一个SESSION变量来实现两次同条件查询。

大家如我上述只需少量改动,就可以实现一个页面既有文字又有图象了!

上一篇:ASP中五种连接数据库的方法 人气:12045
下一篇:用排序串字段实现树状结构(例程——连接字串) 人气:13208
浏览全部ASP调用SQL中的图像的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐