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

SQL Server 靜態網頁產生技術(三):動態行事曆 HTML 產生實作

     編輯:關於SqlServer

程式碼解析

本範例展示利用 T-SQL 迴圈與字串組裝,動態產生月曆 HTML 表格,再透過 `sp_makewebtask` 輸出靜態檔案。

核心邏輯流程

  1. 宣告游標 `point3` 讀取日期資料(日、月、年、星期)
  2. 迴圈處理每一天:
    - 判斷是否為每月第一天 → 產生 `` 標題列(年/月、星期一~日)
    - 依星期數決定 `` 列字串 `@outchar`
  3. 將每列字串 `INSERT INTO ##daylist` 暫存表
  4. 最後呼叫 `sp_makewebtask` 將暫存表輸出為 `d:\test\daylist.htm`
  5. 關鍵技術點

    • 使用 `##daylist` 全域暫存表跨批次傳遞 HTML 片段
    • `CASE` 運算式處理星期對齊(第一周空白欄位)
    • 字串串接組裝 HTML,避免應用層渲染
    • `sp_makewebtask` 直接產生靜態檔案,適合定期排程發佈

    現代化替代方案

    目前建議:

    • 應用層(ASP.NET / PHP / Python)產生 HTML,靈活度高、易維護
    • 或使用 SSRS / Power BI 報表匯出 HTML
    • 若必須在資料庫層,SQL Server 2016+ 可用 `FOR JSON` + `sp_executesql` 搭配外部渲染

    完整程式碼架構參考

    -- 1. 建立暫存表
    CREATE TABLE ##daylist (html_line VARCHAR(8000))
    
    -- 2. 宣告游標讀取行事曆基礎資料
    DECLARE point3 CURSOR FOR SELECT dy, date, yue, ri, xingqi, year FROM calendar_data
    
    -- 3. 迴圈組裝 HTML(略,見原始碼)
    
    -- 4. 輸出靜態頁面
    EXEC sp_makewebtask 
        @outputfile = 'd:\test\daylist.htm',
        @query = 'SELECT html_line FROM ##daylist',
        @colheaders = 0, @fixedfont = 0, @tabborder = 0
    1. 上一篇文章:
    2. 下一篇文章:
    Copyright © 程式碼之家 All Rights Reserved
    ` 位置,產生日期數字
    - 組裝完整 `