2020/12/09

Classic ASP ADO 開發注意事項

Classic ASP 使用 ADODB 常數時,發生程式無法執行的情況

Classic ASP 的 ADO 撰寫時遇到常數不存在的問題,例如:

1
cmd.CreateParameter("v_CdEnt", adChar, adParamInput, 4, Request("ENTIDADE"))

adChar 和 adParamInput 會因為不存在其常數而頻頻報錯,經查詢才發現是 VBScript 並不會內建這些常數,不只是 Classic ASP,Word、Excel 也一樣。

解決的方法有三種:

  1. 直接使用對應的數值,並以註解為自己說明,例如:.CommandType = 4 'adCmdStoredProc。
  2. 自己寫常數,例如:Const adCmdStoredProc = 4。
  3. 自行製作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 開始加入。

See also

沒有留言:

張貼留言