asp中在JScript中使用RecordSet對象的GetRows_編程10000問

來源:腳本之家  責任編輯:小易  

可以混合幾種形式的語言的!指令只不過是指定了相應的默認語言,也就是說如果是塊內的語句都是相應默認語言進行解析的.但如果在體中還想使用其他的語言可以用塊寫入用這種方式進行指定相應的語言而不再調默認的語言了!這果你可以使用很多門的語言的!同時還可以寫成等形式,如果使用VBS則可寫作"text/VBScript"的!如果沒有指明則會使用language指令指定的默認語言!如果是在ASP.net中還是兼容這種格式,但區別就是一定要記得后邊加一個"runat="server">表示運行在服務器端的!www.13333515.buzz防采集請勿采集本網。

寫ASP程序時,一般情況總是使用的VBScript,不過也不只是這一種選擇,也可以用JScript。但在用JScript作為ASP的語言時,比用VBScript有一些小小的不方便,比如RecordSet的GetRows方法。

在ASP中操作數據庫,一般都要用到RecordSet對象,如果注重程序效率的話,可能就會用到RecordSet對象的GetRows方法,把記錄集對象轉換成數組,而操作數組在速度上將比用RecordSet對象的MoveNext方法快很多,而且可以在取出數組后盡早釋放RecordSet對象,從而減少資源的占用,這也是優化ASP性能的一個方法。

樓上這句話就錯了:對于ASP來講.主要使用的是VBSCRIPT,JSCRIPT起到一個輔助功能.asp可以使用vbscript和javascript兩種語言寫,只要你指定使用的語言,都可以,沒有什么主要或輔助之分。也可以同時兩種一起

在VBScript里,用RecordSet.GetRows方法取到的是一個二維數組,里面的數據可以通過遍歷數組的方式來取得。

首先,你是說java還是js,兩者是不同的概念 其次,頁面交互式的話可以用js,但操作數據庫的話就不行了 可以在頁面上用js,背后用asp接收頁面所傳的數據再對數據庫進行操作,最后將結果傳回頁面上

假設現在有一個數據庫,其中有一個表名為mytable,有3個字段,名稱分別為id,first,second。

利用ASP可以向網頁中添加交互式內容(如在線表單),也可以創建使用HTML網頁作為用戶界面的web應用程序。Javascript是一種由Netscape的LiveScript發展而來的面向對象的客戶端腳本語言,主要目的是為了解決

復制代碼 代碼如下:

可以新建文件夾“JS”=>右擊=>添加新項=>選擇“JScript文件”=>命名后確定(假設命名為JScript.js) 所需頁面寫上代碼 JS/JScript.js\"type=\"text/javascript\">(文件路徑src可以手動選擇) 更簡單

' code by xujiwei

先創建一個隱藏域表單,然后在上面的<script></script>之間加如下代碼:document.getElementById(\"隱藏表單id的值\")=I 上面的代碼實現了,把JS中的變量值放到了隱藏域中,然后在點擊提交的時候,通過,可以用II

' http://www.xujiwei.cn/

' 定義變量

Dim conn,rs,data,recN,i

' 連接數據庫

Set conn=Server.CreateObject("ADODB.Connection")

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &_

    Server.MapPath("data.mdb")

' 獲取記錄集

Set rs=conn.Execute("SELECT id,first,second FROM mytable")

' 獲取數據數組

data=rs.GetRows()

' 關閉記錄集,釋放對象

rs.Close()

Set rs=Nothing

' 獲取記錄數

recN=UBound(data,2)

' 循環輸出數據

For i=0 To recN

    ' 注意,數組下標從0開始

    ' 顯示數據庫中數據

    Response.Write("ID: "&data(0,i)&", First: "&data(1,i)&_

        ", Second: "&data(2,i)&"<br />")

Next

' 關閉數據庫連接,釋放對象

conn.Close()

Set conn=Nothing

%>

但是在JScript使用時,就會有一個問題,那就是JScript并沒有二維數組,如果要用GetRows所獲取的數據,必要將這個VBScript中的二維數組轉換成JScript能識別的數組,即元素為數組的一個一維數組。

在JScript里,用GetRows方法獲取的數組有一個toArray方法,可以轉換成JScript中能用的數組,但是這個數組是一維的,也就是說,如果要像在VBScript一樣使用的話,還需要我們自己來做轉換。

查閱了MSDN及在網上搜索了相關的文章之后,我寫了一個數組轉換的函數用于在JScript中使用GetRows方法。

復制代碼 代碼如下:

<script language="JScript" runat="server">

// code by xujiwei

// http://www.xujiwei.cn/

// 定義變量

var conn,rs,vdata,data,recN,i;

// 連接數據庫

conn=Server.CreateObject("ADODB.Connection");

conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+

    Server.MapPath("data.mdb"));

// 獲取記錄集

rs=conn.Execute("SELECT id,first,second FROM test");

// 獲取數據數組,并轉換成為JScript中可用的數組類型

vdata=rs.GetRows().toArray();

// 獲取數據表的字段數

i=rs.Fields.Count;

// 關閉記錄集,釋放對象

rs.Close();

rs=null;

// 轉換數組

data=transArray(vdata,i);

// 獲取記錄數

recN=data.length;

// 循環輸出數據

for(i=0;i<recN;i++) {

    // 注意,數組下標從0開始

    // 顯示數據庫中數據

    Response.Write("ID: "+data[i][0]+", First: "+data[i][1]+

        ", Second: "+data[i][2]+"<br />");

}

// 關閉數據庫連接,釋放對象

conn.Close();

conn=null;

// 數組轉換函數

// by xujiwei

// 參數:arr - GetRows方法得到的對象用toArray方法得到的數組

//       fieldslen - 數據表字段數

function transArray(arr,fieldslen) {

    var len=arr.length/fieldslen,data=[],sp;

    for(var i=0;i<len;i++) {

        data[i]=new Array();

        sp=i*fieldslen;

        for(var j=0;j<fieldslen;j++)

            data[i][j]=arr[sp+j];

    }

    return data;

}

</script>

對于一些更新頻率不高,而使用次數比較多的數據,可以在成功獲取數據數組之后,用Application對象來緩存起來,從而減少對數據庫的查詢次數,一定程序程度上優化ASP的性能。

轉地址:http://www.xujiwei.cn/blog/?id=717

asp是編程環境,可以嵌入vbscript或javascript。response,request等是ASP的內置對象,在vbscript和javascript里都可以用,使用的語法遵循所選腳本的語法規則內容來自www.13333515.buzz請勿采集。


  • 本文相關:
  • 用getstring提高asp的速度
  • asp ado getstring函數與用getstring來提高asp的速度
  • 在asp中通過getrows實現數據庫記錄分頁的一段代碼
  • asp中通過getrows實現數據庫記錄分頁的一段代碼
  • asp中記錄集對象的getrows和getstring用法分析
  • 如何把一長串數字分位顯示?
  • 如何制作一個防止多次刷新計數的圖片計數器?
  • 在無組件的情況下,如何上傳圖片?
  • 如何制作一個文本文件編輯器?
  • 如何制作一個倒計時的程序?
  • 如何把recordset轉換成彩色的xml文件
  • 如何實現某些頁面只讓特定的用戶瀏覽?
  • 如何讀取一個.ini文件?
  • 如何制作一個彈出式的調查窗口?
  • 如何編寫top 10之類的排行榜?
  • 在asp中,如果使用jscript,那么response、request等對象如何使用?
  • 如何在同一個ASP頁面中混用VBScript和JScript腳本
  • ASP使用JScript讀取QueryString遇到空值的問題?
  • asp中使用VBSCRIPT與JSCRIPT哪個更有效?
  • 怎么學習基于JSCRIPT的ASP
  • 請問ASP數據庫交互式頁面能全部使用JScript來編寫嗎?
  • ASP和JScript...
  • 在asp.net中怎樣添加jscript文件
  • JScript賦值給asp變量
  • ASP高手進來看看 jscript代碼出現了問題
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全javascriptasp.netphp編程ajax相關正則表達式asp編程jsp編程編程10000問css/htmlflex腳本加解密web2.0xml/rss網頁編輯器相關技巧安全相關網頁播放器其它綜合dart首頁編程10000問用getstring提高asp的速度asp ado getstring函數與用getstring來提高asp的速度在asp中通過getrows實現數據庫記錄分頁的一段代碼asp中通過getrows實現數據庫記錄分頁的一段代碼asp中記錄集對象的getrows和getstring用法分析如何把一長串數字分位顯示?如何制作一個防止多次刷新計數的圖片計數器?在無組件的情況下,如何上傳圖片?如何制作一個文本文件編輯器?如何制作一個倒計時的程序?如何把recordset轉換成彩色的xml文件如何實現某些頁面只讓特定的用戶瀏覽?如何讀取一個.ini文件?如何制作一個彈出式的調查窗口?如何編寫top 10之類的排行榜?如何判斷電子郵件的地址格式是否oblog_4.6_sql 語句如何阻止別人非法鏈接你網站的圖asp問答集如何在asp里顯示進度條?asp中在jscript中使用recordset對禁止站外提交表單(author:killer如何按時間顯示最新標志如何遠程讀取數據庫頁面?怎樣獲知數據庫的連接屬性?如何取回已忘記的密碼?如何實時獲知多少人在線?如何做一個檢索結果帶鏈接的檢索?如何簡單地上傳文件?如何提示用戶打開cookie?如何把一長串數字分位顯示?如何使用數組來顯示下拉菜單?如何實現點擊數的計算?asp問答集如何防范利用刷新來“作弊”的計數器?
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.13333515.buzz All Rights Reserved
    3排列五开奖结果