Dot-Net
SqlParameter 名稱前是否需要添加@?
在我們的一個應用程序中,參數以這種方式傳遞給儲存過程
Dim parm As New SqlParameter("searchText", SqlDbType.VarChar) parm.Direction = ParameterDirection.Input parm.Size = 50 parm.Value="test" cmd.Parameters.Add(parm)並且該過程包含一個參數
@searchText即程式碼傳遞的參數名是
searchText,儲存過程中的參數名是@searchText。但它工作正常,我總是得到所需的結果。
所以我的問題是這樣的,所以不需要在參數之前指定**@?是否會附加@**,任何人都可以為此給出答案。
根據文件,名稱必須以
@:ParameterName 以@paramname 的形式指定。
根據原始碼(查看
SqlCommand並SqlParameter.ParameterNameFixed在參考源中)@,如果需要,會自動添加一個。所以是的,它有效,但它是一個未記錄的功能。最佳實踐建議您不要依賴此方法,而是手動在參數名稱前加上
@.