2011-01-06 66 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來獲得一個包含所有數據的結果集,而不是使用這樣的可疑方法,但仍然看起來錯誤。我看不到一個乾淨的方式去做你所要求的和可能獲得的任何好處。