2015-02-04 82 views
0

我創建了一個存儲過程,它可以在我的本地sql server數據庫上正常工作,但是在bigrocks的Live Server上不起作用。實際上,我從兩個不同的查詢中獲取兩個表中的數據,而在實時環境中,第一個查詢中的數據只能獲取。從SQL Server查詢中獲取兩個結果集給出了兩個不同的輸出

請建議如何解決這個問題。

CRAETE procedure [dbo].[usp_RegisterTable_GetAllUserName] 
as 
begin 

select [User_Id],UserName from RegisterTable where Status='Active' 
select [User_Id],UserName from DistributerTable where Status='Active' 
end 

謝謝..

+0

我討厭問,但是考慮到下面的評論,你確定活動狀態的[DistributerTable]中的活動服務器的數據是否有某些內容? –

+0

@ jlee-tessik我在distributer表中有數據,當我在本地主機上運行時它很好。 –

回答

1

您可以爲這些查詢兩種不同的方法和合並在應用程序code.I結果集給你一個例子

CREATE PROCEDURE FromRgisterTable 
AS 
BEGIN 
select [User_Id],UserName from RegisterTable where Status='Active' 
END 

CREATE PROCEDURE FromDistributerTable 
AS 
BEGIN 
select [User_Id],UserName from DistributerTable where Status='Active' 
END 

在應用程序代碼中的C#一樣

  DataTable dt1 = new DataTable(); 
      DataTable dt2 = new DataTable(); 
      SqlDataAdapter sqlda1 = new SqlDataAdapter("FromFirstProcedure", Connect()); 
      sqlda1.SelectCommand.CommandType = CommandType.StoredProcedure; 
      sqlda1.Fill(dt1); 
      SqlDataAdapter sqlda2 = new SqlDataAdapter("FromSecondProcedure", Connect()); 
      sqlda2.SelectCommand.CommandType = CommandType.StoredProcedure; 
      sqlda2.Fill(dt2); 
      dt1.Merge(dt2); 

我認爲它應該完成你的工作。

+0

您的解決方案適用於我。謝謝 –

+0

@MohdAdeeb如果您的工作已完成,您可以將其標記爲答案。 –

0

你試過:

select [User_Id],UserName 
from RegisterTable 
where Status='Active' 

UNION ALL 

select [User_Id],UserName 
from DistributerTable 
where Status='Active' 

或者,您在找兩個不同的結果集?

+0

雅我試過這個,但只有第一個查詢執行第二個查詢不在這兩種情況下執行 –

+0

@MohdAdeeb首先通過執行查詢'exec usp_RegisterTable_GetAllUserName'執行查詢數據庫中的過程 –

+0

@MohdWaseem我測試它在數據庫中正常工作,但在我的代碼中它只顯示來自第一個查詢的數據 –

相關問題