2011-01-06 62 views
0

我正在用户登录(第一个数据库请求)存储过程varify密码和用户id的网站上工作,然后返回我放入会话中使用的用户记录。在一个请求中获取多组数据?

之后,我做了第二个数据库请求。它返回我放入缓存的用户的地址。

你能否请求引导我有一些方法,我可以在一个数据库请求中获取两组数据(用户记录和第二个表中的地址)。

plz指导我对此,我使用DAAB(​​输入奖品库)进行数据访问。

感谢

回答

1

修改您的SP,其具有多个SELECT语句,如你的情况是2两选择一个SP中的语句将返回两个记录集。在SQL Management Studio中验证,运行SP时,它应该在底部面板中显示多个Grid。

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

+0

感谢您的指导。我没有使用数据表或数据集。我正在使用自定义对象。可以使用自定义对象完成吗?请咨询。 – haansi 2011-01-06 10:21:20

1

你可以写在存储过程中的两个选择查询或 执行两个查询此起彼伏。在单个查询中,您可以执行并接收DataSet中的数据。

ExecuteDataset()

所以两个表将数据集内返回。你可以得到的数值一样

dataset.tables(0) dataset.tables(1)

感谢

+0

感谢您的指导和分享。我正在使用自定义对象而不是数据集或数据表。你可以帮助更多一点吗? – haansi 2011-01-06 10:22:25

0

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