首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

ASP 結合客戶端圖表控件顯示資料庫數據

     編輯:關於SqlServer

架構圖

Browser → msChart Control (Client) ← JavaScript ← ASP (Server) ← ADO ← ODBC ← DBMS

關鍵技術點

  1. 伺服器端 ASP 透過 ADO 取得 Recordset。
  2. 將 Recordset 欄位值寫入客戶端 JavaScript 陣列/變數(Response.Write 產生 JS 程式碼)。
  3. 客戶端 <OBJECT ID="Chart1" CLASSID="CLSID:...msChart..."> 控件讀取 JS 變數繪圖。

核心程式碼片段

<%@ LANGUAGE="VBScript" %>
<%
Dim oConn, oRs, sqlString
sqlString = "SELECT Year, Sales FROM AnnualSales"
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "DSN=SalesDB"
Set oRs = oConn.Execute(sqlString)
%>
<script language="JavaScript">
    var categories = new Array();
    var values = new Array();
    <%
    Dim i = 0
    Do While Not oRs.EOF
    %>
        categories[<%=i%>] = "<%=oRs("Year")%>";
        values[<%=i%>] = <%=oRs("Sales")%>;
    <%
        i = i + 1
        oRs.MoveNext
    Loop
    oRs.Close: oConn.Close
    %>
    // 繫結 msChart
    Chart1.ChartData.SeriesCollection(1).Data = values;
    Chart1.ChartData.Categories = categories;
</script>
<OBJECT ID="Chart1" CLASSID="CLSID:A38F11E0-...msChart..." WIDTH=400 HEIGHT=300></OBJECT>

優缺點

  • 優點:伺服器不產生圖片檔,客戶端互動(縮放、切換圖表類型)流暢。
  • 缺點:需客戶端安裝 msChart ActiveX 控件(IE 專用)、資料量大時 JS 陣列傳輸頻寬大、安全性限制較多。

現代替代

建議改用 JavaScript 圖表庫(Chart.js、Highcharts、ECharts)搭配 AJAX/JSON 取得資料,跨瀏覽器、無元件安裝、支援行動裝置。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved