複数のテーブルを ResultSet として返すストアド プロシージャがあります。私はそれをDataTableに保存し、そのDataTableオブジェクトをMY Webページにテーブルを印刷する別のフォームに渡しました。私の質問は、ストアド プロシージャから返された複数の ResultSet を、別の関数に返すことができる単一の DataTable オブジェクトに格納する方法です。
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;
}
3 つの DataTable すべてを受け取る関数
DataTable dtOutput = Generix.getGraphData(type);
ここから各 DataTable を取得する方法は? dtOutput1 への 0 番目の要素、dtOutput2 への 1 番目の要素を意味します。