我正在一个站点上工作,当用户登录(第一个数据库请求)时,存储过程会验证密码和用户 ID,然后返回我放入会话中以供下一步使用的用户记录。
在此之后我做了第二个数据库请求。它返回我放入缓存中的用户地址。
请您指导我是否有某种方法可以在一个数据库请求中获取两组数据(用户记录和他的第二个表中的地址)。
请指导我,我正在使用 DAAB(进入奖库)进行数据访问。
谢谢
您可以在一个存储过程中编写两个选择查询,或者一个接一个地执行两个查询。在单个查询中,您可以执行和接收 DataSet 中的数据。
执行数据集()
因此,数据集中将返回两个表。你可以得到像
dataset.tables(0) dataset.tables(1)
谢谢
修改具有多个 select 语句的 SP,如您的情况是 2。一个 SP 中的两个 select 语句将返回两个记录集。在 SQL Management Studio 中验证,当您运行 SP 时,它应该在底部面板中显示多个 Grid。
SP 完成后,从 C# 代码调用 SP 并将结果加载到 DataSet 中。数据集将有两个表,您可以从不同的表中获取数据
一次检索两个结果集将一无所获,但代码会变得更加不连贯。为什么您需要将两个逻辑上独立的操作合并为一个?您可以使用 join 一次性获取包含所有数据的结果集,而不是使用这种有问题的方法,但这似乎仍然是错误的。我看不到一种干净的方式来做你所要求的事情以及可能获得的任何好处。