从ASP调用SQL中的图像
2000-08-08 10:08:26 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽幃銏ゅ礂鐏忔牗瀚介梺璇查叄濞佳勭珶婵犲伣锝夘敊閸撗咃紲闂佽鍨庨崘锝嗗瘱闂備胶顢婂▍鏇㈠箲閸ヮ剙鐏抽柡鍐ㄧ墕缁€鍐┿亜韫囧海顦﹀ù婊堢畺閺屻劌鈹戦崱娆忓毈缂備降鍔庣划顖炲Φ閸曨垰绠抽悗锝庝簽娴犻箖姊洪棃娑欐悙閻庢矮鍗抽悰顕€宕堕澶嬫櫖濠殿噯绲剧€笛囧箲閸ヮ剙钃熼柣鏂挎憸閻熷綊鏌涢…鎴濇灈妞ゎ剙鐗嗛—鍐Χ鎼粹€茬凹缂備緡鍠楅幐鎼佹偩閻戣棄纭€闁绘劕绉靛Λ鍐春閳ь剚銇勯幒鎴濐伀鐎规挷绀侀埞鎴︽偐閹绘帩浼€缂佹儳褰炵划娆撳蓟濞戞矮娌柟瑙勫姇椤ユ繈姊洪柅鐐茶嫰婢т即鏌熼搹顐e磳闁挎繄鍋涢埞鎴犫偓锝庘偓顓涙櫊閺屽秵娼幏灞藉帯闂佹眹鍊曢幊鎰閹惧瓨濯撮柛鎾村絻閸撳崬顪冮妶鍡楃仸闁荤啿鏅涢悾鐑藉Ψ瑜夐崑鎾绘晲鎼粹剝鐏嶉梺缁樻尰濞叉﹢濡甸崟顖氱疀闂傚牊绋愮花鑲╃磽娴h棄鐓愭慨妯稿妿濡叉劙骞樼拠鑼槰闂佸啿鎼崐濠毸囬弶搴撴斀妞ゆ梻銆嬪銉︺亜椤撶偛妲婚柣锝囧厴楠炴帡骞嬮弮鈧悗濠氭⒑鐟欏嫭鍎楅柛妯衡偓鐔插徍濠电姷鏁告慨鐑藉极閸涘﹥鍙忔い鎾卞灩绾惧鏌熼崜褏甯涢柍閿嬪灦閵囧嫰骞掗崱妞惧缂傚倷绀侀ˇ閬嶅极婵犳氨宓侀柛鈩冪⊕閸婄兘鏌涘┑鍡楊伀妞ゆ梹鍔曢埞鎴︽倻閸モ晝校闂佸憡鎸婚悷锔界┍婵犲洦鍤冮柍鍝勫暟閿涙粓姊鸿ぐ鎺戜喊闁告瑥楠搁埢鎾斥堪閸喓鍘搁柣蹇曞仧绾爼宕戦幘璇茬疀濞达絽鎲¢崐顖炴⒑绾懎浜归悶娑栧劦閸┾偓妞ゆ帒鍟惃娲煛娴e湱澧柍瑙勫灴閹瑩寮堕幋鐘辨闂備礁婀辨灙闁硅姤绮庨崚鎺楀籍閸喎浠虹紓浣割儓椤曟娊鏁冮崒娑氬幈闂佸搫娲㈤崝宀勬倶閻樼粯鐓曢柟鑸妼娴滄儳鈹戦敍鍕杭闁稿﹥鐗犲畷婵嬫晝閳ь剟鈥﹂崸妤€鐒垫い鎺嶈兌缁犲墽鈧厜鍋撳┑鐘辩窔閸嬫鈹戦纭烽練婵炲拑绲垮Σ鎰板箳閹冲磭鍠撻幏鐘绘嚑閼稿灚姣愰梻鍌氬€烽懗鑸电仚濠电偛顕崗妯侯嚕椤愩倖瀚氱€瑰壊鍠栧▓銊︾節閻㈤潧校缁炬澘绉瑰鏌ュ箵閹烘繄鍞甸柣鐘烘鐏忋劌顔忛妷褉鍋撶憴鍕碍婵☆偅绻傞~蹇涙惞閸︻厾锛滃┑鈽嗗灠閹碱偊锝炲鍥╃=濞达綁顥撻崝宥夋煙缁嬪灝鏆遍柣锝囧厴楠炲鏁冮埀顒傜不婵犳碍鍋i柛銉戝啰楠囬悗瑙勬尭缁夋挳鈥旈崘顔嘉ч柛鈩兠棄宥囩磽娴e壊鍎愰柛銊ュ缁顓兼径瀣偓閿嬨亜閹哄秶顦︾€殿喖鐏濋埞鎴﹀煡閸℃浠梺鍛婎焼閸曨収娲告俊銈忕到閸燁垶宕愰崹顐e弿婵☆垳鍘ф禍楣冩倵濮樼偓瀚�

核心提示:从asp调用SQL中的图像eNet学院关键词:Sql Server, ADO如何处理ASP中的图象在用ASP编程中,很多时侯要用到图象,从ASP调用SQL中的图像,对于单纯从数据库中处理一个图象,方法大家讲了很多,是为了在处理图象的ASP文件中再次调用 temp_id=session("RSDA_ID&quo
从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.net页面弄成伪静态页面
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››Asp.net 中将汉字转换成拼音的方法
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››ASP.NET及JS中的cookie基本用法
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
更多精彩
赞助商链接