c# - 我可以重用 C# SqlParameter

标签 c# sql

我每 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/

相关文章:

c# - web.appsettings.config 中的更改是否会触发应用程序池回收?

mysql - mysql中CREATE TABLE语句中KEY的含义

mysql - 使多子选择更有效率?

python - 函数序列错误 (0) (SQLFetch) - SQL、Pyodbc

c# - 从文本框中显示密码

c# - 如果文本框为空,如何禁用按钮

XNA/C# : Entity Factories and typeof(T) performance

c# - 线程阻止所有者的垃圾收集

sql - 如何在 SQL 中将 json 属性从一个记录值移至新记录值

MySQL 保存的数据不可选