我每 10 秒连续选择一次,所以我想我会做一些过早的优化并保存在每个循环中创建一个 cmd 和参数对象
如果我用一种方法做到这一点
public void FirstSelect() {
// select data
this.cmdSelectData = new SqlCommand(SQL_SELECT_DATA, conn);
this.paramBranchId = new SqlParameter("@branch_id", 1);
this.cmdSelectData.Parameters.Add(paramBranchId);
// fetch data blah, blah, blah...
}
然后用另一种方法
public void SecondSelect() {
this.paramBranchId.Value = 2;
// fetch data
}
这会按预期工作吗,一个选择使用分支 1,一个选择使用分支 2 或者我需要
this.cmdSelectData.Parameters.Clear();
ths.cmdSelectData.Parameters.Add(new SqlParameter( // for branch 2)
最佳答案
是的,在现有参数上设置值确实会影响命令的后续执行。如果您想对一个或多个参数使用不同的值多次执行相同的命令,而不必每次都重新构建整个命令,这将非常方便。
关于c# - 我可以重用 C# SqlParameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1107459/