一尘不染

与Parameters.Add和Parameters.AddWithValue的区别

c#

基本上CommandsParameters和参数有类似的功能AddAddWithValue和等。在我见过的所有教程,我通常发现他们正在使用Add的替代AddWithValue

.Parameters.Add("@ID", SqlDbType.Int)

.Parameters.AddWithValue("@ID", 1)

有理由不使用AddWithValue吗?我宁愿使用它

Parameters.Add("@ID", SqlDbType.Int, 4).Value = 1

因为它节省了我的编码时间。那么哪个更好用呢?使用哪个安全?它会提高性能吗?


阅读 379

收藏
2020-05-19

共1个答案

一尘不染

使用Add()method时,您可以通过指定数据的类型和长度(特别是对于varchar列)来限制用户输入。

.Parameters.Add("@name",SqlDbType.VarChar,30).Value=varName;

如果使用AddWithValue()(值的隐式转换)方法,则它将nvarchar值发送到数据库。

2020-05-19