결과 집합으로 여러 테이블을 반환하는 저장 프로 시저가 있습니다. 나는 그것을 DataTable에 저장하고 그 DataTable 객체를 다른 웹 페이지의 표를 인쇄하는 다른 양식에 전달합니다. 내 질문은 어떻게 하나의 DataTable 개체에 저장 프로 시저에서 반환 된 여러 ResultSet 저장할 수 있습니다. 다른 함수로 반환 할 수 있습니다. 어떻게 여기에서 각각의 DataTable을 얻을 수있는 세 가지 DataTablesSingle DataTable 개체의 저장 프로 시저에서 여러 결과 집합을 반환하십시오.
DataTable dtOutput = Generix.getGraphData(type);
이동합니다
public static DataTable[] getGraphData(Int32 type)
{
SqlConnection oConn = null;
DataSet dsReturn = null;
DataTable[] dtReturn=new DataTable[2];
try
{
getConnection(ref oConn, 1);
using (SqlStoredProcedure sspObj = new SqlStoredProcedure("dbo.usp_getGraphData", oConn, CommandType.StoredProcedure))
{
sspObj.AddParameterWithValue("@Type", SqlDbType.Int, 0, ParameterDirection.Input, type);
dsReturn = sspObj.ExecuteDataSet();
dtReturn[0] = dsReturn.Tables[0];
dtReturn[1] = dsReturn.Tables[1];
dtReturn[2] = dsReturn.Tables[2];
sspObj.Dispose();
}
closeConnection(ref oConn);
}
catch (Exception xObj)
{
//dtReturn[] = new DataTable();
}
return dtReturn;
}
기능? 결과에 가입하여 저장 프로 시저에 현명한
편집을 진행합니다. 사용 된 데이터 집합 이제 배열로부터 각 DataTable을 추출하고 싶습니다. – Shaggy
이어야합니다. DataTable [] dtOutputs = Generix.getGraphData (type); DataTable dtOutput1 = dtOutputs [0]; 또는 당신은 단지 참조하지만 같은 값을 갖는 새 데이터 테이블을 필요가없는 경우 다음 dtOutput [0] .Copy() 하지 이것이 당신이 다음 미안 찾고있는 경우,하지만 난 당신이 필요로하는 것을 이해하지 못하는 정확하게. –
이 명령문은 dtReturn을 리턴합니까? 0,1,2 요소를 모두 반환합니다. – Shaggy