基本上Commands有Parameters和参数有类似的功能Add,AddWithValue和等。在我见过的所有教程,我通常发现他们正在使用Add的替代AddWithValue。
Commands
Parameters
Add
AddWithValue
.Parameters.Add("@ID", SqlDbType.Int)
与
.Parameters.AddWithValue("@ID", 1)
有理由不使用AddWithValue吗?我宁愿使用它
Parameters.Add("@ID", SqlDbType.Int, 4).Value = 1
因为它节省了我的编码时间。那么哪个更好用呢?使用哪个安全?它会提高性能吗?
使用Add()method时,您可以通过指定数据的类型和长度(特别是对于varchar列)来限制用户输入。
Add()
varchar
.Parameters.Add("@name",SqlDbType.VarChar,30).Value=varName;
如果使用AddWithValue()(值的隐式转换)方法,则它将nvarchar值发送到数据库。