iT邦幫忙

0

asp.net SQL Parameters

我有個小小的疑問
我的SQL:
sql = " select id , companyname, phone1, contactname1 from Customers where id = @pmcid ";

使用長一點的語法
cmd.Parameters.Add("@pmcid", SqlDbType.NVarChar, 20).Value = id;
和精簡的語法
cmd.Parameters.Add("@pmcid",id);

這兩個語法會有什麼差別嗎??
會因為多寫了 "SqlDbType.NVarChar,20"
所以ASP.NET 會多進行CHECK的動作
檢查id是否符合Nvarchar(20)嗎?? 謝謝

1 個回答

6
最佳解答

vigor提到:
SqlDbType

請參考這篇
使用SqlParameter請記住要宣告SqlDbType

多寫了 "SqlDbType.NVarChar,20"
所以ASP.NET 會多進行CHECK的動作
檢查id是否符合Nvarchar(20)嗎??

多寫 "SqlDbType.NVarChar,20" => 是讓 .net 幫你做參數的屬性定義, 避免傳了不該傳的資料, 造成 SQL 錯誤(也能加減防 SQL Injection

我要發表回答

立即登入回答