主题:ASP从数据库读取数据到数组,再将数组值传到JavaScript的数组中的问题?2
写一个网页,写了一个星期了 ,都没写好,我都快疯了,大家帮我看一下错在哪吧。
主要是从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;
%>
...................................(后面省略)
在IIS里浏览时,浏览器右下角的提示内容为:
109行错误,point_num 未定义;
http://www.programfan.com/club/post-245510.html 有个附件
里面是数据库表,页面代码和页面要用到的图片.
改正对后的页面会显示一副地图,图上有两个图标,鼠标点在图标上时,会弹出一个信息窗口
这个网页的内容是调用googlemapAPI显示地图,并在地图上用图标标注你要的地址,当你的鼠标点到标注的图标时,弹出你事先设好的信息框.
也就是googlemap的再开发利用.
有兴趣的朋友可以试一试,不过要先改掉网页上的错误!
主要是从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;
%>
...................................(后面省略)
在IIS里浏览时,浏览器右下角的提示内容为:
109行错误,point_num 未定义;
http://www.programfan.com/club/post-245510.html 有个附件
里面是数据库表,页面代码和页面要用到的图片.
改正对后的页面会显示一副地图,图上有两个图标,鼠标点在图标上时,会弹出一个信息窗口
这个网页的内容是调用googlemapAPI显示地图,并在地图上用图标标注你要的地址,当你的鼠标点到标注的图标时,弹出你事先设好的信息框.
也就是googlemap的再开发利用.
有兴趣的朋友可以试一试,不过要先改掉网页上的错误!