我每隔10秒做一次连续选择,所以我想我会做一些过早的操作并保存在每个循环中创建一个cmd和paramater对象
如果我在一种方法中这样做
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)
}
答案 0 :(得分:5)
是的,在现有参数上设置值确实会影响命令的后续执行。如果你想用一个或多个参数的不同值执行相同的命令几次,这是非常方便的,而不必每次都重建整个事件。
答案 1 :(得分:1)
您需要为每个添加的参数创建一个新参数。