2009-07-10 88 views
3

我在做一个不断选择的每10秒,所以我想我会做一些过早optimsing和保存everyloop我可以重复使用C#的SqlParameter

创建一个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

你打算完成这个问题吗? – 2009-07-10 02:58:46

+0

对不起意外提交的帖子之前,我已经完成它 – bumperbox 2009-07-10 03:23:23

回答

5

是的,在现有参数上设置值会影响后续执行的命令。如果您想用一个或多个参数的不同值执行相同的命令几次,而不必每次都重新构建整个事件,这非常方便。

1

你需要为你添加每一个新的参数。

+0

看到马特的更完整的答案(我在问题完成前回答!) – 2009-07-10 03:29:50