【问题标题】:SqlHelper ExecuteDataSet with named parameters?带有命名参数的SqlHelper ExecuteDataSet?
【发布时间】:2014-11-18 16:15:46
【问题描述】:

目前我正在使用SqlHelper.ExecuteDataSet(string storedProcedure, Object[] parameters); 从数据库中检索数据。问题在于顺序很重要。我最近抽象了一些产生Object[] parameters 的功能,这导致它们有点乱。我想知道是否有一种方法可以(简单地)调用这个函数来指定名称?

我能想出的唯一其他解决方案是自己创建一个函数来正确订购它们,尽管这似乎与现有的方法相比不合格。

问题:有没有办法用一组命名参数调用 SqlHelper.ExecuteDataSet? (例如Dictionary<String, Object> 或类似的东西)?

【问题讨论】:

  • Ummm Microsoft.ApplicationBlocks.Data.SqlHelper 抱歉没有意识到。
  • 我通过搜索找不到太多文档。一个快速的谷歌揭示了this page,这似乎推断有一个重载,它需要一个可以命名的SqlParameters数组。

标签: c# sqlhelper


【解决方案1】:

SqlHelper 已过时。它已被 MS 企业库中的数据库对象取代,但这也已过时。你想从中挤出什么功能?使用企业库作为起点构建自己的抽象层可能会更好。

【讨论】:

  • 我们使用它来运行查询。它工作得很好,但参数乱序。我想我必须创建一个函数来自己订购参数? (对于我无法按顺序修改的程序)。
  • 是的。我很想知道你做了哪些修改导致它出现故障。
  • 简单抽象。我没有意识到有些人的订单是P1 P2 P3 P4 P5,而其他人的订单是P1 P5 P2 P3 P4。我能够自己更正 StoredProcedures 中的大多数实例,但有一些我不允许触摸。
  • 如果在执行之前查询存储过程怎么办?假设您可以访问 SYS 模式,您可以尝试匹配参数顺序:stackoverflow.com/questions/7366912/…
【解决方案2】:
猜你喜欢
  • 2018-04-29
  • 2021-12-02
  • 1970-01-01
  • 1970-01-01
  • 2018-08-11
  • 2018-10-27
  • 1970-01-01
  • 2019-09-16
  • 2015-03-07
相关资源
最近更新 更多