不刷新页面怎么调用远程asp脚本?

发布时间:2019-01-03 11:48 来源:互联网 当前栏目:远程桌面

  1.请在sqlserver中建一数据库name:house在house中运行下列脚本
  ifexists(select*fromsysobjectswhereid=object_id(N´[dbo].[City]´)andOBJECTPROPERTY(id,N´IsUserTable´)=1)
  droptable[dbo].[City]
  GO
  ifexists(select*fromsysobjectswhereid=object_id(N´[dbo].[Area]´)andOBJECTPROPERTY(id,N´IsUserTable´)=1)
  droptable[dbo].[Area]
  GO
  CREATETABLE[dbo].[City](
  [id][int]IDENTITY(1,1)NOTNULL,
  [name][nvarchar](10)NULL
  )ON[PRIMARY]
  GO
  CREATETABLE[dbo].[Area](
  [id][int]IDENTITY(1,1)NOTNULL,
  [CityId][int]NULL,
  [name][nvarchar](20)NULL
  )ON[PRIMARY]
  GO
  INSERTINTOCity(id,name)Values(1,"广州")
  INSERTINTOCity(id,name)Values(2,"上海")
  INSERTINTOCity(id,name)Values(3,"北京")
  INSERTINTOArea(id,CityId,name)Values(1,1,"天河")
  INSERTINTOArea(id,CityId,name)Values(2,1,"白云")
  INSERTINTOArea(id,CityId,name)Values(3,2,"虹口")
  INSERTINTOArea(id,CityId,name)Values(4,2,"宝山")
  INSERTINTOArea(id,CityId,name)Values(5,2,"静安")
  INSERTINTOArea(id,CityId,name)Values(6,3,"海淀")
  INSERTINTOArea(id,CityId,name)Values(7,3,"朝阳")
  2.建立文件
  建立文件CityData.asp
  <%@LANGUAGE=VBSCRIPT%>
  <%RSDispatch%>
  <SCRIPTRUNAT=SERVERLanguage=javascript>
  <!--#INCLUDEVIRTUAL="/_ScriptLibrary/RS.ASP"-->
  <!--#INCLUDEVIRTUAL="/jsconn.asp"-->
  functionDescription()
  {
  this.GetAreaAsArray=DoGetData;
  }
  public_description=newDescription();
  functionDoGetData(cityId)
  {
  varsql,rst,strText,conn,i,j
  conn=newActiveXObject("ADODB.Connection");
  conn.ConnectionString=connstr;
  conn.ConnectionTimeout=30;
  conn.Open();
  sql="Selectname,idfromareawherecityid=´"+cityId+"´";
  rst=newActiveXObject("ADODB.Recordset");
  rst.CursorLocation=3;
  rst.Open(sql,conn);
  i=0;
  j=0;
  strText=newArray();
  if(rst.RecordCount>=1)
  {
  for(vari=0;i<rst.RecordCount;++i)
  {
  strText[j++]=rst.Fields("name").Value;
  strText[j++]=rst.Fields("id").Value;
  rst.movenext();
  }
  }
  else
  {
  strText[j++]="没有";
  strText[j++]=1;
  }
  rst.close();
  conn.close();
  returnstrText;
  }
  </SCRIPT>
  建立文件jsconn.asp
  <SCRIPTRUNAT=SERVERLanguage=javascript>
  varconnstr="driver={SQLServer};server=202.0.0.108;uid=sa;pwd=;database=house";
  </SCRIPT>
  建立文件pub.asp
  <%
  FunctionOpenOrGet_Database
  DimSessionName,conn
  constconnstr="driver={SQLServer};server=202.0.0.108;uid=sa;pwd=;database=house"
  SessionName="House"
  IfNotIsObject(Session(SessionName))Then
  Setconn=Server.CreateObject("ADODB.Connection")
  conn.Openconnstr
  SetSession(SessionName)=conn
  EndIf
  SetOpenOrGet_Database=Session(SessionName)
  EndFunction
  %>
  建立文件sql_pub.asp
  <%
  ´取出城市资料
  FunctionSelectCity()
  DimConn,Sql,Rs,ArrCity,TmpArr(1,0)
  SetConn=OpenOrGet_Database
  SetRs=Server.CreateObject("ADODB.Recordset")
  Sql="Selectdistinctname,idfromCity"
  Rs.OpenSql,Conn,3
  ifRs.Eofthen
  TmpArr(0,0)="城市"
  TmpArr(1,0)=0
  Rs.Close
  SelectCity=TmpArr
  else
  ArrCity=RS.GetRows()
  Rs.Close
  SelectCity=ArrCity
  endif
  EndFunction
  ´根据传来的CityId取出相应的地区资料
  FunctionSelectArea(CityId)
  DimConn,Sql,Rs,ArrArea,TmpArr(1,0)
  SetConn=OpenOrGet_Database
  SetRs=Server.CreateObject("ADODB.Recordset")
  Sql="Selectname,idfromAreawhereCityId="&CityId&"orderbyid"
  Rs.OpenSql,Conn,3
  ifRs.Eofthen
  TmpArr(0,0)="地区"
  TmpArr(1,0)=0
  Rs.Close
  SelectArea=TmpArr
  else
  ArrArea=RS.GetRows()
  Rs.Close
  SelectArea=ArrArea
  endif
  EndFunction
  %>
  建立文件test.asp
  <%@LANGUAGE="VBSCRIPT"%>
  <%optionexplicit%>
  <!--#includeVIRTUAL="pub.asp"-->
  <!--#includeVIRTUAL="Sql_pub.asp"-->
  <%
  DimarrCity,arrArea,strPathInfo,strServerName,strServerPort,i,TmpStr
  strPathInfo=Request.ServerVariables("PATH_INFO")
  strServerName=Request.ServerVariables("SERVER_NAME")
  strServerPort=Request.ServerVariables("SERVER_PORT")
  iflen(strServerPort)=0then
  strServerPort=""
  else
  strServerPort=":"+strServerPort
  endif
  strPathInfo="http://"&strServerName&strServerPort&""
  arrCity=SelectCity()
  arrArea=SelectArea(arrCity(1,0))
  %>
  <html>
  <head>
  <title>UntitledDocument</title>
  <metahttp-equiv="目录类型"content="文本/html;字符集=gb2312">
  </head>
  <scriptlanguage="JavaScript"src="<%=strPathInfo%>/_ScriptLibrary/rs.htm"></script>
  <scriptlanguage="JavaScript">
  RSEnableRemoteScripting("<%=strPathInfo%>/_ScriptLibrary");
  </script>
  <bodybgcolor="#FFFFFF">
  <formmethod="post"name="select">
  <fontcolor="#222200">
  <selectname="City"size="1"onChange="JavaScript:Choosesection(this.form.Area,this.form.City)">
  <optionvalue=0selected>--选择城市--</option>
  <%fori=LBound(arrCity,2)ToUBound(arrCity,2)
  TmpStr="<optionvalue="&arrCity(1,i)&""
  TmpStr=TmpStr&">"&arrCity(0,i)&"</option>"
  Response.Write(TmpStr)
  Next
  %>
  </select>
  </font><fontcolor="#222200">
  <selectname="Area"size=1>
  <optionvalue=0>--选择镇区--</option>
  <%Fori=LBound(arrArea,2)ToUBound(arrArea,2)
  ifarrArea(1,i)<>0then
  %>
  <optionvalue=<%=arrArea(1,i)%>><%=arrArea(0,i)%></option>
  <%endif
  Next%>
  </select>
  </font>
  </form>
  <scriptlanguage="JavaScript">
  varserverURL="<%=strPathInfo%>";
  varpageURL="/CityData.asp";
  functionChoosesection(oArea,oCity)
  {
  for(vari=oArea.options.length-1;i>0;--i)
  {oArea.options.remove(i)}
  varCityId=oCity.options(oCity.selectedIndex).value;
  varobjResult=RSExecute(serverURL+pageURL,"GetAreaAsArray",CityId);
  varj=0
  if(objResult.return_value.length>0)
  {
  for(vari=0;i<objResult.return_value.length/2;++i)
  {
  sName=objResult.return_value[j++];
  sId=objResult.return_value[j++];
  varoOption=document.createElement(´OPTION´);
  oOption.text=sName;
  oOption.value=sId;
  oArea.options.add(oOption);
  }
  }
  }
  </script>
  </body>
  </html>
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、