TechWeb-技术社区 » 程序开发 » asp显示access数据库一个id下多幅图片的问题


2007-12-7 13:47 只能期待
asp显示access数据库一个id下多幅图片的问题

我的images表中有六个字段:id   img,img1,img2,img3,img4 #U6BpF;X^,J
我想问一下怎么才能在查询id的时候显示这个id下的所有图片????
qUK i9K\ml 我的查询页面是:searchimg.asp
#b1?1Sq!x)U}/TrN <html>   LE!kQ_r^*T
D-\ C6r/gG6[5zA6^p
<body> U}!\G5{'A'q:Y

$j%v%I%IhTcz <center>
d1B+flp3nwu8R$] 6r?%n%Fs,@9cl
     <form   name= "mainForm "   enctype= "text/plain "   action= "showimg.asp "   method= "get ">
H#K2j7s_uT     请输入要显示图片的序号: <input   type=id   name=id> H'Y2F~\6D7l

;f8?xF\D:m&l        <input   type=submit   name=ok   value= "提交 ">
EyOA\ gf-w9D+k [gI7@+@
     </form>   T*XS)?Of-gw
0iw%Q|RjV
</center> lLq2ng_&e3~q
</body> (K~uj%f1^ M/Xis@
</html>
{t)Hoa +n5hWRf(\`+Wma
showimg.asp: l.r G#YT]Ij-T

t"QZ4Fa7b^6pS <%   
;Jv)X S q}1b B
!RUk H4Yn set   connGraph=server.CreateObject( "ADODB.connection ")   1y)~ g%H2e a J!x
1w[&h-H|4z/n
connGraph.Open   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= "   &   server.MapPath( "submit.mdb ") (N"b lWa Q p'y
[wD F;NF)cj:OP
set   rec=server.createobject( "ADODB.recordset ") ~R2TP&y3?

C2w/y dx1SN3f;LY id=trim(request.querystring( "id ")) 8Y:z?kCl

Y@(zm EH strsql= "select   *   from   images   where   id= "&Request.QueryString( "id ")& " " y,h3m5pP+Of1X1A _

"k L)yD'P)[R/[%K l rec.open   strsql,connGraph,1,1   rW a8S Nq wN9I
9T BP I h
Response.ContentType   =   "image/gif "   v V%}:v x)[

b#j#~ mchb*U Response.BinaryWrite   rec( "img ").getChunk(7500000) ~6T3b c2g$M0H0sxC
Response.BinaryWrite   rec( "img1 ").getChunk(7500000)
b|zmx#X;`\ Response.BinaryWrite   rec( "img2 ").getChunk(7500000) 8k"M l)X0dZM
Response.BinaryWrite   rec( "img3 ").getChunk(7500000) 7q*prztNX]
Response.BinaryWrite   rec( "img4 ").getChunk(7500000) YfH V3{ V b

cE3r ]I9c1M%ypZ rec.close   {ye$U*{$NxX

`7Bep._;q-hD2l"|_ set   rec=nothing   [D [^*sp
vj1I"JJe_h
set   connGraph=nothing   $S:fRG"T6@%?l

|HXS P,~^C %> dP1m_o
大家看一下这个有什么错误?为什么只显示了一个图片,而不是这个id下的所有图片?

2007-12-8 21:12
怎么就没人回复呢????
^1XH4a7F^'VL M 各位知道的大哥帮帮忙吧!!!

2007-12-8 21:12
这个问题有那么难吗??
@4A9fN u/WL 怎么就没人回复呢? "E)N/W `}!d"DK
各位大哥知道的就帮帮忙吧!小弟在此感激不尽!!!

2007-12-8 21:12
怎么就没人关注呢?是不是分太少了?小弟只有这10分了!!
3t*M6m-|t)UzW/[7l 各位大哥!!
7J7[\ gpDUX`c       知道的帮帮忙,小弟我感激不尽!!!

2007-12-8 21:13
VBScript code又是你啊,呵呵-L1d&T })_'mR
Response.BinaryWrite   rec( "img ").getChunk(7500000) Ig,S Q5E@
response.write("1")
L,Va[ y:} Response.BinaryWrite   rec( "img1 ").getChunk(7500000) M+a hDqe*[2?$Y:_
response.write("1")
/~#{S {@ l+lp Response.BinaryWrite   rec( "img2 ").getChunk(7500000) [iIPWL8Q
response.write("1") Q#p6r*v2q1@+V
Response.BinaryWrite   rec( "img3 ").getChunk(7500000) ] Xa:e:k%t
response.write("1")
zyk,?o8_ Response.BinaryWrite   rec( "img4 ").getChunk(7500000)
G0fZ1_Qp response.write("1")
d)O9e,mY n1E9w{u%Jw*vs 看看你显示的到底是哪幅图片,还有,检查一下你数据库中是否有图片
ZrM7HFj3W 一点一点调

2007-12-8 21:14
我的数据库中有图片,但就是调不出来,我想显示一个id下的所有图片
E&EOx$^I7p/E7v 不知道怎么回事只能显示第一个图片?

2007-12-8 21:14
VBScript code
wA&I$p/pH6T7~
c6b+fU.MB+AO Response.BinaryWrite   rec( "img ") (A4~6PzEU
response.write("1")(m@0y0V$_r)cZ!n
Response.BinaryWrite   rec( "img1 ")
Mx*U)\3uTk4aU response.write("1")
pHl)JgB klit Response.BinaryWrite   rec( "img2 ")
1?X uP j#o response.write("1")
aV#~&n&k%A9g Response.BinaryWrite   rec( "img3 ")
bQ0x+^O(g response.write("1")qm1XX1C8i _+R&[5W*c7T
Response.BinaryWrite   rec( "img4 ")
h;siS6k*\3m)yz1X6S response.write("1")
I'U!G+m'di_ 这样再试试

2007-12-8 21:14
按你的方法出现了下面的错误:
d0~0ZOk&C"K   
:d*d.C^2_(I0?$km <font   face= "宋体 "   size=2> cUlq`
<p> ADODB.Recordset </font>   <font   face= "宋体 "   size=2> 错误   '800a0cc1 ' </font>
z*O\e|0RC(Q <p> .{ VBa-[2`5Ok
<font   face= "宋体 "   size=2> 在对应所需名称或序数的集合中,未找到项目。 </font>
mYqrM0s:?3@ <p> 1C"x ]"TB P9G:gU!o
<font   face= "宋体 "   size=2> /dispimg/showimg.asp </font> <font   face= "宋体 "   size=2> ,行   17 </font>

2007-12-8 21:14
VBScript code
&X V)u P!` `^ 7Pq n-Xlv0G [8d
E7Vr:}-Z;A
不是吧!不应该的啊,你分着调试试,只输出一个图片,如:把下面
|V:J}+sKDv-t Response.BinaryWrite   rec( "img ").getChunk(7500000) sp?%^*jL|-E
response.write("1")
!B k5K6@ Br(?Mp Response.BinaryWrite   rec( "img1 ").getChunk(7500000) (a&hXn*b2a9pZNX
response.write("1")4j3{ \@-A}
Response.BinaryWrite   rec( "img2 ").getChunk(7500000) -I\6ZG#o%U
response.write("1")
:?~ ? m [ Response.BinaryWrite   rec( "img3 ").getChunk(7500000)
U;J8a'ub3h&f response.write("1")Zs lOhWh1H
Response.BinaryWrite   rec( "img4 ").getChunk(7500000) ,P G'C"M5y4SaA
response.write("1")!s _ Tl2O%Gy;A
改成4qb-EMz
response.write("1")8L2aE p\\kw.I8P
Response.BinaryWrite   rec( "img2 ").getChunk(7500000)
O:Y*}+Xn(W3vJ:^s 看看能不能出来

2007-12-8 21:14
不行啊,还是那个错误!!
*o+m+V@^"r/ul1O 下面是我的改过后的代码:
F ]Mb4Yg3QN `h <%   
&QzV] ~0v%Snh
G#C Tcb^E set   connGraph=server.CreateObject( "ADODB.connection ")   KsXZPux p
5}Gq*^M"W P%| g
connGraph.Open   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= "   &   server.MapPath( "submit.mdb ") O k0q%{"{

5^B;}7v5T set   rec=server.createobject( "ADODB.recordset ") 0Rs7eQ:k9O,F-t2W

C){h z({0]7[ id=trim(request.querystring( "id ")) 2ShcZM.NZ#Z

h}ec[3t2C m strsql= "select   *   from   images   where   id= "&Request.QueryString( "id ")& " "
@F0mB ~%v JF i9q[#TLK?
rec.open   strsql,connGraph,1,1   $[;oedT
4iq;L&e2Y
Response.ContentType   =   "image/gif "   ,g,n$r4ZJD
byO)R-hnO
Ik-h$m*at-[z
Response.BinaryWrite       rec(   "img2   ").getChunk(7500000)
cQ;L$Ye'_&@ 2d:|X*u7aY0V'x
response.write( "1 ")
O6X"uN} rec.close   
~i(z8A9L 2IPu+bfr"S'G#n
set   rec=nothing   $n]bDL3e8R)C4p
#?)O4fG&^9`(E:b
set   connGraph=nothing   
0E6u(k&q-S*PT 3_)@ @;zgs A:Hc
%>

2007-12-8 21:15
输出一条的时候也报错?你原来输出多条的时候没错,只是输不出来对吧,貌似Response.BinaryWrite这个一次只能输出 a}%T*@!|#]9y9aZ
一个图片

2007-12-8 21:15
那用什么能一次输出多个图片??

2007-12-8 21:15
呵呵,早就说过你应该改下字段类型的,这种二进制保存图片只适合图片较少的情况,否则数据库巨大 ujVO,pwBf j&p'Z
像你这个一条记录里就6个ole对象,就算让你作出来你的程序也有问题 A j1hi"Y |%`#r
没发现回复你的人很少吗?因为这么做的人太少了,还是改下数据库比较好

2007-12-8 21:15
郁闷啊!!! H^yH G2` EN
那怎么改数据库?? \U2gk9~&C
是不是图片存进文件夹,路径存进access?

2007-12-8 21:16
嗯,把图片存入文件夹,然后把img等字段改成文本类型(字符串类型),它用来保存图片的路径

2007-12-8 21:16
你有没有现成的例子啊,发过来看看.

2007-12-8 21:17
HTML code6KI1\8D(z#mX6o
$CQr |u
..举个例子吧,假设图片都在images文件夹下u%o;Za4?
数据库!}t5u!?qXwi:CK
id    img    img1
U x U9`|T+?2a 1     1.jpg   2.jpg
)D)D"^l0v.bF
P Km+\L N+a 代码
Z*sjb$S Q;fk <%
I].v{iw*[ set rs=server.createobject("adodb.recordset"),Q,K$[UH S V
if request("id")<>"" then U9Q6nAQO Y9yV l
rs.open "select * from tb where id="&request("id"),conn,1,3
li4Y{QC if  not rs.eof thenD(Tv_4zL
response.write("<img src=images/"&rs("img")&">")n4?/Xb7}],?
response.write("<img src=images/"&rs("img1")&">")AN*Tlk+p:D.E
end if
U8BP+bs-zx.o5p rs.close
w"n)HlqrP-z:]\d end if
ES{MmX3V3S8s!k %>

2007-12-8 21:17
还是不懂,在网上找的上传组件都不知道怎么用?你可不可以发个现成的给我!

2007-12-8 21:17
这都不懂?!
*~7ML'KGU:m t 上传组件!看来我是雷锋啊!为了10点忙活半天!

2007-12-8 21:17
再问下,你们一共几个人作网站

页: [1] 2


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.