Classic ASP 使用 ADODB 常數時,發生程式無法執行的情況
Classic ASP 的 ADO 撰寫時遇到常數不存在的問題,例如:
1 | cmd.CreateParameter("v_CdEnt", adChar, adParamInput, 4, Request("ENTIDADE")) |
adChar 和 adParamInput 會因為不存在其常數而頻頻報錯,經查詢才發現是 VBScript 並不會內建這些常數,不只是 Classic ASP,Word、Excel 也一樣。
解決的方法有三種:
- 直接使用對應的數值,並以註解為自己說明,例如:.CommandType = 4 'adCmdStoredProc。
- 自己寫常數,例如:Const adCmdStoredProc = 4。
- 自行製作adovbs.inc檔案,把使用到的常數都放裡面,再 include 使用。
不明白為何以前好似有內建這些內容?ASP 發展 30 年後,還能讓人踩雷。(大笑)
自己是偏好第三種,所以就找了資源放在 See also 區,和各位分享!
Classic ASP and MVC
PHP 有 MVC 框架,類似 PHP 的 Classic ASP 是否也有 MVC 框架可以使用?
有的,而且是 2016 年被釋出的 MVC 框架,連結在此:Classic ASP and MVC。
作者認為在後端新技術並不能讓程式開發人員過更輕鬆的生活,在看過許多舊產品所寫出義大利麵程式碼後,他釋出 MVC 框架可以讓還在使用 Classic ASP 的工程師有一個遵循的守則。
作者在 MVC Router 設計概念 |
很認同作者的觀察和理念,有機會再來研究。
使用 Option Explicit
良好的開發習慣可以編譯效能增加,所有的起點就是【Option Explicit】,強制變數必須在 ASP 文件的開頭進行 Dim 宣告。此功能於 ASP 3.0 開始加入。
沒有留言:
張貼留言