編碼cfqueryparam或cfprocparam時,cfsqltype是可選的。不過,我通常會看到它編碼。指定cfsqltype有沒有好處?正在使用cfsqltype的良好做法?
10
A
回答
16
主要好處是在將查詢輸入傳遞到查詢之前,對查詢輸入進行額外的完整性檢查。另外,對於日期時間值,如果指定了cfsqltype =「CF_SQL_DATE」或=「CF_SQL_TIMESTAMP」,我相信CF會將日期時間字符串正確地轉換爲正確的數據庫格式。
此外,我認爲它使未來的開發人員在閱讀您的代碼時可以看到類型除外更加清晰。
13
我會添加到傑克的評論。在大多數RDBMS中,數據庫需要通過類型查找來運行變量,以確保它是正確的類型,或者可以隱式轉換爲適當的類型。數據庫不會在表或視圖中引入「輸入任何」變量。它必須在執行計劃中建立正確的輸入。因此,如果您不提供類型,則要求數據庫「弄清楚」。
而您指定您正在預佔或預先限定數據類型的類型。引擎知道驅動程序正在呈現某種類型的變量,然後可以直接使用它或直接派生它。
請記住,雖然安全性是使用cfqueryparam的一個很好的理由,但這只是一個原因。另一個原因是創建可以高效執行的正確準備好的語句,並理想地在DB服務器上「彈出」執行計劃緩存。
相關問題
- 1. 正在使用MS SQL Identity的良好做法嗎?
- 2. ViewHolder - 良好做法
- 3. jquery良好做法
- 4. 良好做法MVC
- 5. 使用表格的良好做法
- 6. 使用#define,良好的做法?
- 7. 良好做法在Perl
- 8. MVVM的良好做法?
- 9. 演員的良好做法?
- 10. 正在用AJAX加載PHP頁面的良好做法?
- 11. 良好做法:JDBC連接
- 12. IOS FMDB良好做法
- 13. $ elemMatch和良好做法
- 14. 繼承和良好做法
- 15. iPhone應用文檔的良好做法
- 16. 正在使用'!!'在C/C++良好的做法,這是常見的?
- 17. 良好的做法或不好的做法
- 18. Bundle Node.js後端 - 良好的做法或不好的做法?
- 19. 正在通過ractive作爲論證的良好做法?
- 20. 使用html'confirm'方法是否被認爲是良好的做法?
- 21. 寧靜的API,良好的做法
- 22. html的CSS設計良好的做法?
- 23. 良好做法:用於後端目的的未使用屬性
- 24. 良好的做法默認值
- 25. 條件聲明中的良好做法
- 26. CSS的良好做法 - 每頁一頁?
- 27. 的IEnumerable和良好做法(WCF)
- 28. 定義PHP類時的良好做法
- 29. 編寫junit測試的良好做法
- 30. ASP.NET MVC - DbContext的良好做法
CF還會將任何truey/falsey值轉換爲CF_SQL_BIT(1或0),並將任何數值轉換爲CF_SQL_INT(舍入)。 – Henry 2012-03-19 22:40:11
謝謝您提供的答案!我想這是一些原因,但無法找到文件,這是非常明確和簡潔的 – froadie 2012-03-20 07:58:03