我刚刚在一些代码中发现它使用System.Data.SqlTypes.SqlString
?我以前没见过它。我总是应该在向sql server发送字符串时使用它吗?
e.g。
cmd.Parameters.Add("@FirstName", (SqlString)FirstName);
答案 0 :(得分:7)
不,没关系 - 您可以使用string
,框架/驱动程序会为您处理事情。
答案 1 :(得分:2)
我不认为你必须这样做,因为它会弄明白但我总是至少说这种类型只是为了确保它正确地通过。
答案 2 :(得分:0)
我确信有转换。它应该至少是
new SqlString(FirstName)
那是为了避免麻烦。 SqlString主要存在于DbTypes的层次结构中(例如实现INullable)。
答案 3 :(得分:0)
只需传递正常的string
即可。转换为SqlString
没有错;最好直接调用其中一个构造函数 - 如果要检查区域设置转换客户端,它会很有用。
我应该指出该方法已弃用,您应该使用AddWithValue
或指定字段类型,然后设置值。