我有以下SqlCommand
,它將返回超過100000行(將來可能會更多)。我想將創建列表(listToUse
)分爲500個條目。我明白,我們可以很容易地在SQL中完成此操作,但是我正在從代碼調用存儲過程,因此想要多次調用存儲過程。在SqlCommand中一次選擇500行,代碼爲
我想選擇行
- 0至500呼叫的方法
GenereateUnpackConfigList(cmd)
- 501至1000呼叫的方法
GenereateUnpackConfigList(cmd)
等
listToUse
是與屬性的類的一個簡單的集合。
任何幫助,非常感謝!
代碼:
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "SP_RPT_V5_LS_EXP_GetOutputsForUnpackingByBatchID";
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter("@BatchID", BatchID);
param.Direction = ParameterDirection.Input;
param.DbType = DbType.String;
cmd.Parameters.Add(param);
listToUse = GenereateUnpackConfigList(cmd);
你知道正在從命令返回的列?基於此,您可以創建一個班級。使用cmd.ExecuteReader()方法獲取填充了數據的SQLDataReader。循環閱讀並每次填充類的對象並將其添加到列表中。共享有關從存儲過程返回的數據的信息。我將能夠提供詳細的答案。 –
重寫存儲過程使用分頁? – Fran
在SQL Server ** 2012 **和更新的版本中,您可以使用[OFFSET-FETCH](https://www.mssqltips.com/sqlservertip/2362/overview-of-offset-and-fetch-feature-of- sql-server-2012 /)功能 –