大家好,本人在做一个网页刷新图片的时候,要用到javascript来调用数据库里的数据,具体代码如下:
<%
sql="select * from upimg where dd='0' order by id desc ";
rs=smt.executeQuery(sql);
String img;
%><SCRIPT language=JavaScript1.1><%while(rs.next()){
img=rs.getString("img");
%>
var image<%=i%>=new Image()
image<%=i%>.src="images/move/"+<%=img%>
<%}%></SCRIPT>
请问这段代码有什么问题吗?
我编辑的时候老是不行,在网页上无法显示,有哪个大侠能给个好的建议呢?

解决方案 »

  1.   

    javascript 是不能套 java代码的。看你的代码再说你也没必要用javascript
      

  2.   

    sql="select * from upimg where dd='0' order by id desc ";
    //那里定义了sql?
    rs=smt.executeQuery(sql);
    //那时定义了rs?
    img=rs.getString("img");
    //那里定义了img?
    ---------------
    最主要的问题还是
    var image<%=i%>=new Image();
    ---------------------------
    var OptionImg = new Array();
    OptionImg[<%=i%>] = new Image();
    OptionImg[<%=i%>].src="images/move/"+<%=img%>
      

  3.   

    javascript是可以套java代码!只是不能控制java代码的运行.
      

  4.   

    <script language="JavaScript">
      rollImage = new Image;
      rollImage.src = "rollImage1.jpg";
      defaultImage = new Image;
      defaultImage.src = "image1.jpg";
      </script>
      <a href="/"myUrl"" onMouseOver="document.myImage.src = rollImage.src;"
      onMouseOut="document.myImage.src = defaultImage.src;">
     <img src="/"image1.jpg"" name="myImage" width=100 height=100 border=0>
      

  5.   

    <%
    String sql="select * from upimg where dd='0' order by id desc ";
    ResultSet rs=smt.executeQuery(sql);
      

  6.   

    liangkandy2002(随风) 
    说的对
      

  7.   

    呵呵,很感谢楼上的几位的宝贵意见,我没有把代码完整的弄出来,我只是把关键的代码写出来了,我的问题是如何在javascript里把这个数据库里的数据调出来,明白我的意思吗?
      

  8.   

    以下是完整代码:因为从ASP转过来,里面的很多风格和ASP一样的,唉,我这里要实现的是每隔几秒种换一张图片,而这个图片是动态更新的,所以要从数据库里调出数据来,我要说的关键之处是代码并没有什么语法错误,关键的地方就是无法从数据库里调出数据生成形如:
    var image1=new Image()
    image1.src="images/move/01.jpg"
    这样的数据,完整代码:
    <%@page contentType="text/html;charset=gb2312"%>
    <%@include file="manage/conn.jsp"%>
    <HTML><HEAD><TITLE></TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <%
    sql="select * from upimg where dd='0' order by id desc ";
    rs=smt.executeQuery(sql);
    String img;
    int i=0;
    %><SCRIPT language=JavaScript1.2>
    function reapply(){
    setTimeout("slideit()",500)
    return true
    }
    window.onerror=reapply
    </SCRIPT>
    <SCRIPT language=JavaScript1.1>
    <%
    while(rs.next()){
    img=rs.getString("img");
    i=i+1;
    %>
    var image<%=i%>=new Image()
    image<%=i%>.src="images/move/"+<%=img%>
    <%}%>
    </SCRIPT><BODY bgColor=#ffffff leftMargin=0 topMargin=0 onload=slideit() marginwidth="0" 
    marginheight="0" onselectstart="return false"><META content="MSHTML 6.00.2800.1498" name=GENERATOR></HEAD>
    <BODY bgColor=#ffffff leftMargin=0 topMargin=0 onload=slideit() marginwidth="0" 
    marginheight="0" onselectstart="return false">
    <%
    sql="select * from upimg where dd='0' order by id desc ";
    rs=smt.executeQuery(sql);
    if(rs.next())
    {
    img=rs.getString("img");
    %><IMG style="FILTER: revealTrans(Duration=1.0, Transition=23)" 
    height=248 src="images/move/<%=img%>" width=333 border=0 name=slide>
    <SCRIPT>
    var number_of_images=23
    var speed=3
    var step=1
    var whichimage=1
    function slideit(){
    if (!document.images)
    return
    if (document.all)
    slide.filters.item(0).Apply()
    document.images.slide.src=eval("image"+step+".src")
    if (document.all)
    slide.filters.item(0).Play()
    whichimage=step
    if (step<number_of_images)
    step++
    else
    step=1
    if (document.all)
    setTimeout("slideit()",speed*1000+1000)
    else
    setTimeout("slideit()",speed*1000)
    }
    </SCRIPT>
    <%}%>
     </BODY></HTML>
      

  9.   

    1:
    var image<%=i%>=new Image()
    image<%=i%>.src="images/move/"+<%=img%>这个过程完成了图片的预加载,好!!!2:
    eval("image"+step+".src")
    这个过程完成图片的src输出,好!!!3:
    <BODY bgColor=#ffffff leftMargin=0 topMargin=0 onload=slideit() marginwidth="0" 
    marginheight="0" onselectstart="return false"><META content="MSHTML 6.00.2800.1498" name=GENERATOR></HEAD>
    <BODY bgColor=#ffffff leftMargin=0 topMargin=0 onload=slideit() marginwidth="0" 
    marginheight="0" onselectstart="return false">
    这段重复了,删掉一段看看先;4:
    同时注意一下:
    document.images.slide与slide.filters.item(0)对象;
    alert()一下看看.
      

  10.   

    to:liu_you(滴水藏海) ,把那行删除了,这个每隔一段时间换图片的代码本来是静态的页面,因为不能满足需要,本人把它改成从数据库调用数据,才会出现问题的,静态页面是可以很正常的运行的,按照你的建议,我在第一个数据库循环输出的时候用了alert("aa");结果没有内容输出,是不是真的javascript不能和JSP的数据库混合用呢????????
      

  11.   

    <%
    sql="select * from upimg where dd='0' order by id desc ";
    rs=smt.executeQuery(sql);
    String img;
    %><SCRIPT language=JavaScript1.1><%while(rs.next()){
    img=rs.getString("img");
    %>
    var image<%=i%>=new Image()
    image<%=i%>.src="images/move/"+<%=img%>;<-此处少了一个分号
    <%}%></SCRIPT>
      

  12.   

    javascript在此处并不是和JSP交互,是由JSP生成部分JS代码发送到客户端执行,没问题的.
    那你就看看数据库取数据的问题吧.