回 帖 发 新 帖 刷新版面

主题:ASP从数据库读取数据到数组,再将数组值传到JavaScript的数组中的问题?

写一个网页,写了一个星期了 ,都没写好,我都快疯了,大家帮我看一下错在哪吧。
    主要是从SQL SERVER2000数据库读取数据,传到客户端浏览器的javascript数组中,由客户端javascript 函数处理。
    用ASP从数据库读取数据并赋值给数组,再将数组传到客户端浏览器的javascript数组中,这个过程有错。但我不知道怎么改!!
    如果有其他的方法或技巧可以实现相同的过程,请大家不吝赐教!!!欢迎讨论!
    小弟先行谢过!!!!!
代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google JavaScript API --6</title>

<%On Error Resume Next%>
<%
StrSQL="DBQ="+server.mappath(".mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
StrSQL="driver={SQL Server};server=(local);database=mapdata;uid=sa;pwd=etoward;"
set oConn=server.createobject("ADODB.CONNECTION")
oConn.open StrSQL
%>

<% 
var  sSQL  =  'SELECT  *  FROM  points';  
var  rs   =   oConn.Execute(sSQL);
dim  point_x = rs("x").GetRows;
dim  point_y = rs("y").GetRows;
dim  point_html = rs("html").GetRows;
dim  point_higher_up = rs("higher_up").GetRows;
dim  point_subordinate = rs("subordinate").GetRows;
dim  point_name = rs("name").GetRows;
dim  point_attribute = rs("attribute").GetRows;
dim  point_num = rs.Fields.Count;

Response.Write("<script language=JavaScript >
    var point_num;    ");
    Response.Write("point_num="+point_num+";""alert("+point_num+");");
    Response.Write("var point_x = new Array(point_num);
        var point_y = new Array(point_num);
        var point_html = new Array(point_num); 
        var point_higher_up = new Array(point_num);
        var point_subordinate = new Array(point_num);
        var point_name = new Array(point_num);
        var point_attribute = new Array(point_num);");
    
      var arrI=0;
    for(;arrI < point_num;arrI ++)
     {
    Response.Write("point_x["+arrI+"]="+point_x[arrI]+";") ;
    Response.Write("point_y["+arrI+"]='"+point_y[arrI]+"';");
    Response.Write("point_html["+arrI+"]='"+point_html[arrI]+"';");
    Response.Write("point_higher_up["+arrI+"]='"+point_higher_up[arrI]+"';");
    Response.Write("point_subordinate["+arrI+"]='"+point_subordinate[arrI]+"';");
    Response.Write("point_name["+arrI+"]='"+point_name[arrI]+"';");
    Response.Write("point_attribute["+arrI+"]='"+point_attribute[arrI]+"';");
    };
    Response.Write("</script>"); 

rs.Close(); 
rs=null;  
 oConn.Close();   

  oConn   =   null; 
%>


     

  



<script src=
"http://ditu.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAmtvEbk3j-VrVahmjWFW5nBST9LztJ4iGtaAcc81CEwKFFQ1
yqhROMdwzcm95FZqdgm0XFv6Na2g7RQ"           type="text/javascript">
    </script> 
    <script type="text/javascript">  
   

  alert(point_num);
  alert(point_x);
  
    
    //<![CDATA[
    function load() {
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
        map.addControl(new GScaleControl());
        map.addControl(new GOverviewMapControl());
        map.setCenter(new GLatLng(34.258344, 117.160900), 13);
    
    
    
        var baseIcon = new GIcon();
        baseIcon.shadow = "./images/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34);
        baseIcon.shadowSize = new GSize(37, 34);
        baseIcon.iconAnchor = new GPoint(9, 34);
        baseIcon.infoWindowAnchor = new GPoint(9, 2);
        baseIcon.infoShadowAnchor = new GPoint(18, 25);
    
    // 
    function createMarker(point, i) {  
        var icon = new GIcon(baseIcon);  
        icon.image = "./images/1.png";  
        var marker = new GMarker(point,icon);  
        GEvent.addListener(marker, "click", function() {    
            marker.openInfoWindowTabsHtml(infoTabs);  });  
        return marker;}
        
        var infoTabs = [                  
                  new GInfoWindowTab("名称", ""  ),
                  new GInfoWindowTab("地址", "煤建新村1-4-602"),
                  new GInfoWindowTab("邮政编码", "221006"),
                  new GInfoWindowTab("电话", "051-85826086")
                ];
                            for (var i = 0; i < point_num; i++) {  
        var point = new GLatLng(point_x[i],point_y[i]);  
        map.addOverlay(createMarker(point, i));} 
    
    
            
        }
    }

    //]]>
   </script>
</head>
<body onload="load()" onunload="GUnload()">
    <div id="map" style="width: 600px; height: 400px"></div>
  </body
></html>

回复列表 (共12个回复)

11 楼


没人能解决这个问题吗?
我心痛中!!!!!

12 楼

诚望有识之士不吝赐教。我不相信这么多高手在这儿,一个会的都没有。

我来回复

您尚未登录,请登录后再回复。点此登录或注册