我想知道有什么区别:
DBCmd.Parameters.Add("user_name", IfxType.VarChar);
DBCmd.Parameters["user_name"].Value = p_u;
和
DBCmd.Parameters.Add("user_name", p_u);
这里的最佳实践是什么,哪个更安全,一个比另一个表现更好?
最佳答案
在所示示例中,主要 区别在于它明确知道要使用的类型是 IfxType.VarChar
- 这可能很重要,取决于具体情况,以及 IFX 是否将字符串默认为 Char
、VarChar
或 LongVarChar
。老实说,我不知道默认情况下它会选择哪一个。
显式通常是个好主意,但不需要通过索引器重新获取,因为新参数是从 Add
返回的;我可能会建议:
DBCmd.Parameters.Add("user_name", IfxType.VarChar).Value = p_u;
或者也许:
DBCmd.Parameters.Add("user_name", IfxType.VarChar, 20).Value = p_u;
其中 20
是参数的大小。
关于c# - 添加参数的两种情况有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11966942/