设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP

在不刷新页面的情况下调用远程asp脚本

作者:佚名 出处:网络转载 时间:05-21 点击:

内容载入中...
1.请在sql server 中建一数据库 name:house 在house中运行下列脚本

if exists (select * from sysobjects where id = object_id(N'[dbo].[City]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[City]
GO

if exists (select * from sysobjects where id = object_id(N'[dbo].[Area]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Area]
GO

CREATE TABLE [dbo].[City] (
    [id] [int] IDENTITY (1, 1) NOT NULL ,
    [name] [nvarchar] (10) NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Area] (
    [id] [int] IDENTITY (1, 1) NOT NULL ,
    [CityId] [int] NULL ,
    [name] [nvarchar] (20) NULL
) ON [PRIMARY]
GO

INSERT INTO City (id,name) Values(1,"广州")
INSERT INTO City (id,name) Values(2,"上海")
INSERT INTO City (id,name) Values(3,"北京")

INSERT INTO Area (id,CityId,name) Values(1,1,"天河")
INSERT INTO Area (id,CityId,name) Values(2,1,"白云")
INSERT INTO Area (id,CityId,name) Values(3,2,"虹口")
INSERT INTO Area (id,CityId,name) Values(4,2,"宝山")
INSERT INTO Area (id,CityId,name) Values(5,2,"静安")
INSERT INTO Area (id,CityId,name) Values(6,3,"海淀")
INSERT INTO Area (id,CityId,name) Values(7,3,"朝阳")

2.建立文件

建立文件CityData.asp
<%@ LANGUAGE=VBSCRIPT %>
<% RSDispatch %>

<SCRIPT RUNAT=SERVER Language=javascript>
<!--#INCLUDE VIRTUAL="/_ScriptLibrary/RS.ASP"-->
<!--#INCLUDE VIRTUAL="/jsconn.asp"-->

    function Description()
    {
          this.GetAreaAsArray = DoGetData;
    }
    public_description = new Description();


    function DoGetData(cityId)
    {
      var sql,rst,strText,conn,i,j
            conn = new ActiveXObject("ADODB.Connection");
            conn.ConnectionString = connstr;
            conn.ConnectionTimeout = 30;
            conn.Open();
            sql  = "Select name,id from area where cityid='" + cityId + "'";
            rst  = new ActiveXObject("ADODB.Recordset");
            rst.CursorLocation = 3;   

            rst.Open(sql,conn);
            i = 0;
            j = 0;
        strText = new Array();

            if (rst.RecordCount >= 1)
            {
              for(var i=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();
            return strText;
        }
</SCRIPT>

建立文件jsconn.asp

<SCRIPT RUNAT=SERVER Language=javascript>
var connstr = "driver={SQL Server}; server=202.0.0.108;uid=sa;pwd=;database=house";
</SCRIPT>

建立文件pub.asp
<%

  Function OpenOrGet_Database
    Dim SessionName, conn
    const connstr = "driver={SQL Server}; server=202.0.0.108;uid=sa;pwd=;database=house"
    SessionName = "House"
    If Not IsObject(Session(SessionName)) Then
      Set conn = Server.CreateObject("ADODB.Connection")
      conn.Open connstr
      Set Session(SessionName) = conn
    End If
    Set OpenOrGet_Database = Session(SessionName)
  End Function



%>

建立文件sql_pub.asp
<%


  '取出城市资料 
  Function SelectCity()
    Dim Conn, Sql, Rs, ArrCity, TmpArr(1,0)
    Set Conn = OpenOrGet_Database
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Sql = "Select distinct name,id from City"
document.getElementById('loading').style.display="none";
收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口
<< 上一篇 :ASP可逆算法
>> 下一篇 :跨越域的Cookie

站长学院

推荐信息