none
图片从数据库抽取 并且过几秒换张图片 RRS feed

  • 问题

  • 原先做asp网站的时候成功 下面是代码
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
    
    <script type="text/javascript">
    
    	 function reload()
    
     {
    
       $.ajaxSetup({cache:false});
    
    		 $.ajax({
    
    		 url: "pic.asp",
    
    		 success: function(data) {
    
        $("#mainBodyer").html('<table id="pic" width="588" border="0">'+data+'</table>');
    
       }
    
       });
    
       setTimeout("reload()",4000);
    
     }
    
    </script>
    
    
    
    <div id="mainBodyer"><!--#include file="pic.asp"--></div>
    
    <script type="text/javascript">reload();</script>
    
    
    
    pic.asp
    
    
    
    <tr>
    
    <td background="/images/bg.gif">
    
    <%
    
    set conn=server.createobject("adodb.connection")
    
    db="数据库路径"
    
    connstr="Provider=Microsoft.jet.oledb.4.0;data source="&server.mappath(db)
    
    conn.open connstr
    
    '以下代码为随机读取1条记录
    
    '连接数据库
    
    randomize()
    
    intrandomnumber=int(1000*rnd)+1
    
    sql="select * from 表 order by rnd("&(-1*intrandomnumber)&"*id)"
    
    set rst=conn.execute(sql)
    
    if rst.eof then
    
    response.write("<img height=290 id=tp src=images/2.gif />")%>
    
    </td></tr>
    
    <tr><td valign="bottom"><%Response.Charset="gb2312"%>鸡大风光</td></tr>
    
    <%else%>
    
    <%=response.write("<img height=290 id=tp src="&Replace(rst("address"),Chr(32),"%20")&">")%>
    
    </td>
    
    </tr>
    
     <tr>
    
     <td valign="bottom"><%Response.Charset="gb2312"%><%=rst("name")%></td>
    
    </tr>
    
    <%end if
    
    rst.close
    
    set rst=nothing
    
    conn.close
    
    set conn=nothing
    
    %>
    
    

    现在想在asp.net C# 里面实现这功能 已经插入了

    <asp:Image ID="Image1" runat="server" ImageAlign="Left" />
    
    

    怎么才能实现 隔几秒就刷新图片 刷新的同时从数据库随机抽取 如果没有数据就显示预先设定的内容

    数据库是access

     

    在此先谢过了./

    • 已编辑 JulyTen 2010年4月21日 23:19 数据库内容泄露 更换
    2010年4月21日 23:18

答案

  • 你好,

    你上面的代码似乎是每隔一段时间去访问pic.asp这个页面,在这个页面中显示一张图片。

    如果是这样,那和目前在asp.net中实现原理一样,也可以采用这种方式。但是就是读取数据库的方式要改变了。

    所以你目前只要改变下数据库读取方式就可以了。

    你可以按照下面的提示:

    1.在pic.aspx的pageload的第一次加载时,从数据库中读出数据,通过设置Response.CntentType="image/jpeg" 或者"image/gif"或者"image/bmp"后,

    然后采用Response.BinaryWrite(outArray);把从数据库读出来的二进制数据输出成图片就可以了。

    如果对C#操作数据库不太了解,可以参考下面连接。

    http://blog.csdn.net/gisfarmer/archive/2008/12/30/3648761.aspx


    Microsoft Online Community Support
    • 已标记为答案 JulyTen 2010年4月23日 13:29
    2010年4月23日 3:21

全部回复

  • 你好,

    你上面的代码似乎是每隔一段时间去访问pic.asp这个页面,在这个页面中显示一张图片。

    如果是这样,那和目前在asp.net中实现原理一样,也可以采用这种方式。但是就是读取数据库的方式要改变了。

    所以你目前只要改变下数据库读取方式就可以了。

    你可以按照下面的提示:

    1.在pic.aspx的pageload的第一次加载时,从数据库中读出数据,通过设置Response.CntentType="image/jpeg" 或者"image/gif"或者"image/bmp"后,

    然后采用Response.BinaryWrite(outArray);把从数据库读出来的二进制数据输出成图片就可以了。

    如果对C#操作数据库不太了解,可以参考下面连接。

    http://blog.csdn.net/gisfarmer/archive/2008/12/30/3648761.aspx


    Microsoft Online Community Support
    • 已标记为答案 JulyTen 2010年4月23日 13:29
    2010年4月23日 3:21
  • <blockquote>
    <p>先谢谢了,我刚接触.net 以为这里的东西都不能用asp的方法来操作呢.没想到真的可以&nbsp; 现在的问题是 在Firefox/3.6.3 浏览器下面 能正常刷新 可是在&nbsp; serverie2008 的ie7.0他是 直接在图片下面又载入了一遍pic.aspx&nbsp;请问怎么能解决?</p>
    </blockquote>
    <br />

    问题已经解决 div中间的内容全部删除就完事了.

    • 已编辑 JulyTen 2010年4月24日 1:31 自己解决了延伸问题
    2010年4月23日 13:24