问题标签 [multiple-resultsets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
18522 浏览

linq-to-sql - 具有多个结果的 Linq to SQL 存储过程

我们按照以下方法使用 LINQ To SQL 从多个结果中获取数据

从 DataContext 继承的类中的调用方法应如下所示:

请注意,该方法不仅使用映射到存储过程名称的 Function 属性进行修饰,而且还使用具有存储过程返回的结果集类型的 ReturnType 属性进行修饰。此外,该方法返回 IMultipleResults 的无类型接口:

所以程序可以使用这个接口来检索结果:

在上面的存储过程中,我们有两个选择查询 1. 选择不带连接的查询 2. 选择带连接的查询

但是在上面的第二个选择查询中,显示的数据来自表之一,即来自类别表。但是我们使用了连接,并希望显示数据表,其中包含两个表的结果,即来自类别和 PostCategories。

  1. 请如果有人可以让我知道如何使用 LINQ to SQL 来实现这一点
  2. 如果我们使用上述方法与使用简单 SQL 实现上述方法相比,性能权衡是什么
0 投票
3 回答
2354 浏览

c# - 存储过程返回多个记录集

我对 c# 很陌生。我有一个需要多个记录集的页面,以及一个返回它们的存储过程。我正在对主记录集使用中继器控件。如何到达下一个返回的记录集?


好的,所以数据源在 aspx 页面中。我会把它移到页面后面的代码来使用 NextResult 对吗?这是我现在的代码。如何将数据源移动到代码隐藏,实现数据读取器以便我可以使用 nextresult?

0 投票
1 回答
713 浏览

c# - 在 Visual Studio 2008 中具有多个结果的 LINQ to SQL 存储过程

我正在使用 Visual Studio 2008,我创建了一个存储过程,可以选择两个不同的结果集。我将存储的 proc 拖到 linq to sql dbml datacontext 类上,导致 Visual Studio 在 cs 文件中创建以下代码:

设计师不应该生成使用 IMultipleResults 的代码吗?还是我必须手动编码?

0 投票
5 回答
237 浏览

sql-server - 检索具有多个相关行的行的首选方式

我目前正在使用 SqlDataReader 和存储过程在 C# 中手写 DAL。性能很重要,但它仍然应该是可维护的......

假设有一张桌子食谱

(recipeID, author, timeNeeded, yummyFactor, ...)

和一桌食材

(recipeID, name, amount, yummyContributionFactor, ...)

现在我想查询 200 种食谱及其成分。我看到以下可能性:

  • 查询所有食谱,然后查询每个食谱的成分。
    这当然会导致 maaany 查询。
  • 在一个大的加入列表中查询所有食谱及其成分。这会造成大量无用流量,因为每个配方数据都会被多次传输。
  • 查询所有食谱,然后通过将 recipeID 列表传回数据库来一次查询所有成分。或者同时发出两个查询并返回多个结果集。回到 DAL,通过他们的 recipeID 将成分与食谱相关联。
  • 异国情调的方式:光标通过所有食谱并为每个食谱返回两个单独的食谱和成分结果集。结果集有限制吗?

要获得更多种类,可以通过 DAL 中的 ID 列表或某些参数化 SQL 条件来选择配方。

你认为哪一个的性能/混乱比最好?

0 投票
2 回答
1975 浏览

sql-server - sql存储过程清除结果集

我是否可以清除存储过程已经收集的多个结果集,以便创建的下一个结果集成为该过程返回的第一个结果集?

0 投票
1 回答
366 浏览

mysql - 使用 Execute 避免来自 SP 的 MySQL 多结果

我有一个像这样的SP

;p>

它给出了多重结果。除了不方便之外,如果我得到所有这些多结果(我真的根本不需要),对于 Soul 中数十万条记录中的每条记录大约 5 个(限制的参数),恐怕它会占用所有我的记忆(一切都是徒劳的)。另外,我注意到,如果我确实从一个空字符串进行准备,它仍然有多个结果......至少如何在执行语句中摆脱它们?对于任何可能的语句,我想有一个方法来避免来自 SP 的任何输出(我也有很多“更新......”和“选择......进入”里面,如果他们可以产生多重) . Tnx 寻求帮助...

0 投票
2 回答
5332 浏览

php - PHP将self作为类中的对象数组返回?

我正在使用 CodeIgniter 构建一个 php Web 应用程序,并且我正在尝试使用良好的 OO 实践——其中似乎有很多思想流派。我特别有一个类 biography_model 来与 MySQL 表交互。这个数据模型有一些类属性表示表中的列,但它也有一些表中没有的属性,例如$image_url. 类构造函数接受一个可选的记录 ID 参数,然后从表中获取该记录并通过调用该get_biography()方法设置所有对象属性,包括$image_url不在表中的属性。这样我就可以在控制器中实例化一个新的 biography_model 对象,并准备好所有有用的属性:$bio = new biography_model($id);

但是,当我们从表中返回记录的多行结果集时,最好的方法是什么?对于每条记录,我还需要设置$image_url. 我可以在控制器中执行此操作,方法是查询表中的记录列表,然后将每个 id 传递给新的 biography_model($id) 对象。但是后来我会遇到控制器绕过模型直接查询数据库的情况。

相反,我选择从 biography_model 中返​​回一个 biography_model 对象数组。

例子:

有用。但这是一个合理的方法吗?还有其他更受欢迎的方法吗?我敏锐地意识到我正在查询数据库两次,但我不确定有更好的方法来处理这个问题。欢迎所有建议!

谢谢,狼

0 投票
2 回答
4186 浏览

c# - 如何从一个存储过程中填充多个 GridView 控件?

我在 SQL Server 中有一个存储过程,它返回七个结果集。我想从 ASP.NET 调用这个存储过程,并在我的 ASP.NET 页面上用结果填充七个 GridView。我正在使用 SqlDataReader 来获取数据,但是我正在努力使用 C# 代码来填充 GridViews。

我创建了一个 DAL 类来获取数据,并且我有这个方法:

辅助方法 MultipleResults 如下所示:

我正在尝试使用以下内容调用我页面上的组件:

我确实在网上搜索了一个这样的例子,但找不到任何东西。

你知道一个资源,或者有一个小例子可以分享吗?

谢谢。

0 投票
1 回答
1811 浏览

linq-to-sql - ASP.NET MVC 2:调用存储过程,获取多个结果集

我如何才能访问第二、第三、第四个结果集?

控制器:

看法:

这很简单......但我只能访问第一个结果集。帮助!

0 投票
1 回答
285 浏览

tsql - 重新编译时的存储过程语法错误被 Catch 捕获并返回空结果集

我正在尝试隔离一个问题(类似于 stackoverflow.com/q/483787/537284 中的主题)。该问题涉及存储过程,并且每周“随机”发生一次。为了尝试重现该问题,我创建了不同的程序版本来模拟好的和坏的可能结果:

  • 良好的多行单结果集。
  • 带有信息性消息的良好多行单结果集。
  • 具有 Raiserror 的良好多行单结果集(低于 11 级)。
  • 良好的多行单结果集与打印。
  • 良好的空单结果集。
  • 语法错误。
  • try/catch 语法错误。
  • Raiserror 错误(级别 11)。
  • Raiserror(级别 11)和 try/catch 出现错误。

在这些测试之间,try/catch 版本的语法错误与我预期的不同。两个结果集(一个为空,另一个来自 catch 指令)返回。

语法错误是否被部分执行?我期待的是 catch 块的结果,而不是 try 的结果。我将此与Raiserror进行了比较,并使用严重性 11,它触发了仅返回一个结果集的 catch 块。语法错误和Raiserror 有什么区别?

这是我的测试程序:

这是我的测试表(从其他人那里撕下来的):