2009-08-04 57 views
0

我想知道如果任何人都可以給我下了分貝使用存儲過程在一個SQL插入數據的最佳實踐模式的鏈接。我的意思是,我們應該採取什麼程序來確保經過存儲過程的驗證數據通過。最佳實踐使用asp.net中存儲過程將數據插入

+0

我不明白你的問題。顯而易見的答案是,「在使用之前驗證數據」,但這太明顯了,無法表達您的意思。請澄清。 – 2009-08-04 16:04:50

+0

行爲就像數據沒有得到驗證時一樣嗎? – Martin 2009-08-04 16:12:53

+0

不,我正在驗證數據,大小和數據類型。但是如果一些黑客試圖添加一些JavaScript代碼或SQL代碼會怎麼樣。我怎樣才能捕捉這些東西? 此外,如果我只是使用此語句輸入參數 cm.Parameters.AddWithValue(「@ UserID」,TxtID.Text.ToString()); 我只是想知道這些東西是否有一個很好的練習模式。 – Mohit 2009-08-04 16:18:18

回答

1

有許多不同的方法可以做到這取決於如果您使用的是ORM或者使用直接訪問數據庫。有一件事是你應該使用SqlParameter對象來創建SP參數。有各種各樣的方法來創建各種選項的SqlParameter但最簡單的形式是

SqlParameter[] prms = new SqlParameter[1]; 
prms[0] = new SqlParameter("@userid", "Bob"); 
2

我會建議您在層以上存儲過程執行嵌入了驗證任何邏輯。通過這種方式,您可以在實施和暴露方面擁有更多的靈活性。一個簡單的例子是您可以在多個項目中重用驗證庫。大多數ORM庫通過在編譯時驗證適當的類型分配來以最簡單的形式支持驗證。

我還建議你在以上的層的存儲過程中實現你的事務邏輯。