C# 在一个请求中获取多组数据?

C# 在一个请求中获取多组数据?,c#,asp.net,c#-3.0,c#-2.0,daab,C#,Asp.net,C# 3.0,C# 2.0,Daab,我在一个站点上工作,在该站点中,当用户登录(第一个数据库请求)时,存储过程会更改密码和用户id,然后返回我在会话中输入的用户记录以供下次使用 在此之后,我执行第二个db请求。它返回我放入缓存的用户地址 你能告诉我有什么方法可以在一个数据库请求中同时获得两组数据(第二个表中的用户记录和他的地址)吗 请在这方面指导我,我正在使用DAAB(企业图书馆)进行数据访问 谢谢您可以在存储过程或 依次执行两个查询。在单个查询中,您可以执行和接收数据集中的数据 ExecuteDataset() 因此,将在数据集

我在一个站点上工作,在该站点中,当用户登录(第一个数据库请求)时,存储过程会更改密码和用户id,然后返回我在会话中输入的用户记录以供下次使用

在此之后,我执行第二个db请求。它返回我放入缓存的用户地址

你能告诉我有什么方法可以在一个数据库请求中同时获得两组数据(第二个表中的用户记录和他的地址)吗

请在这方面指导我,我正在使用DAAB(企业图书馆)进行数据访问


谢谢

您可以在存储过程或 依次执行两个查询。在单个查询中,您可以执行和接收数据集中的数据

ExecuteDataset()

因此,将在数据集中返回两个表。您可以得到如下值

dataset.tables(0) 数据集.表格(1)


谢谢

修改具有多条select语句的SP,如您的示例2所示。一个SP中的两条select语句将返回两个记录集。在SQL Management Studio中验证,当您运行SP时,它应该在底部面板中显示多个网格


完成SP后,从C#代码调用SP并将结果加载到数据集中。Dataset将有两个表,您可以从不同的表中获取数据

一次检索两个结果集将一无所获,但代码将变得更加不连贯。为什么需要将两个逻辑上独立的操作合并为一个?您可以使用join一次性获得一个包含所有数据的结果集,而不是使用这些有问题的方法,但这似乎仍然是错误的。我看不到一个干净的方法来满足您的要求,也看不到可能获得的任何好处。

谢谢您的指导。我没有使用数据表或数据集。我正在使用自定义对象。可以使用自定义对象来完成吗?plz advice.SP不返回自定义对象,您可以从自定义对象中的DB加载结果。返回单值或数据读取器或数据集的DAAB。拥有数据集后,您可以将数据集中的数据加载到自定义对象。我可以用DataReader实现这一点吗?当然,您应该能够使用DataReader.NextResult()访问下一个结果集。感谢您的指导和分享。我使用的是自定义对象,而不是数据集或数据表。你能多帮点忙吗。