我有個小小的疑問
我的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)嗎?? 謝謝
vigor提到:
SqlDbType
請參考這篇
使用SqlParameter請記住要宣告SqlDbType
多寫了 "SqlDbType.NVarChar,20"
所以ASP.NET 會多進行CHECK的動作
檢查id是否符合Nvarchar(20)嗎??
多寫 "SqlDbType.NVarChar,20" => 是讓 .net 幫你做參數的屬性定義, 避免傳了不該傳的資料, 造成 SQL 錯誤(也能加減防 SQL Injection