您的位置:首页技术开发ASP技巧 → 从ASP调用SQL中的图像

从ASP调用SQL中的图像

时间:2004/11/7 4:02:00来源:本站整理作者:蓝点我要评论(0)

从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:



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























请输入编号:


type="submit" value="提交" name="B1">

















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



第二步:建立SEARCH.ASP



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















查询结果











<%



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



temp_id=session("RSDA_ID")



查询结果:



<%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 %>



<%Response.Write(nobody)%>



<%else%>



















































'JPG.ASP就是我们将要建立的专门处理图象的ASP文件







姓 名





<%=rstemp(0)%>

年 龄





<%=rstemp(0)%>












rstemp.close



set rstemp=nothing



conntemp.close



set conntemp=nothing



%>











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



第三步:建立处理图象的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变量来实现两次同条件查询。



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




相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 VB.NET 2005编写定时关 Jquery get/post下乱码解决方法 前台gbk gb如何使用数据绑定控件显示数据ASP脚本循环语句ASP怎么提速

人气排行 轻松解决"Server Application Error"和iis"一起学习DataGridView调整列宽用ASP随机生成文件名的函数Jquery get/post下乱码解决方法 前台gbk gbODBC Drivers错误80004005的解决办法返回UPDATE SQL语句所影响的行数的方法用Javascript隐藏超级链接的真实地址两个不同数据库表的分页显示解决方案