【问题标题】:Using SqlCommand with SP and without SP Parameteres but just Values in C#使用带有 SP 和不带 SP 参数的 SqlCommand,而只是 C# 中的值
【发布时间】:2011-08-12 17:25:27
【问题描述】:

您好,是否可以使用 SQLCommand 来处理存储过程,但无需指定每个参数的名称?

我们必须总是在某些集合(如字符串数组)中包含 SP 变量的名称才能使用 SP?

常见的用法是这样的:

sqlComm.Parameters.Add("@name_SP_variable", "some_value");

我的意思是如果可以做这样的事情:

sqlComm.Parameters.Add("some_value");

如果我们只是以正确的顺序发送正确数量的参数,我们不能只输入没有SP变量名称的值吗?

【问题讨论】:

  • 没有。而且它不会导致代码更清晰。
  • 您能保证您的代码和数据库始终 100% 同步,并且没有人会意外更改代码或存储过程中参数的顺序吗?我会把参数名称放进去。

标签: c# sql tsql stored-procedures sqlcommand


【解决方案1】:

看看SqlCommand.DeriveParameters()This post 有一个示例用法。

【讨论】:

  • 但是做是个好主意还是坏主意?我只是问这个,因为如果它是更好的方法,所以我们总是需要有一些包含所有 SP 参数名称的集合......
  • 我对存储过程不是很熟悉。也许其他人会对此发表评论。
  • @Miguel 您是否尝试为您的 SQL 命令自动生成参数?你说的“我们需要一个带有名字的集合”,我有点困惑。通常,当您在 C# 代码中构造 SQL 命令时,您知道参数的名称或可以轻松查找它们。也就是说,在您编写代码时,参数的名称就在您的脑海中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-29
  • 1970-01-01
  • 2013-12-02
  • 2019-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多