-2
任何人都可以向我解釋如何將此示例函數轉換爲使用DataReader而不是DataSet?使用數據讀取器而不是數據集執行存儲過程
private void Example(int pIntValue1, pIntValue2)
{
DataSet dsExampleResults;
int i = 0;
using (var daExample = new SqlDataAccess(this.ConnectionString))
{
var cmdExample = daExample.GetStoredProcCommand("Example.dbo.GetExampleData");
daExample.AddInParameter(cmdExample, "@param1", DbType.String, name);
daExample.AddInParameter(cmdExample, "@param2", DbType.DateTime, date);
dsExampleResults = daExample.ExecuteDataSet(cmdExample);
}
if (pIntValue1 >= pIntValue2)
{
i = dsExampleResults.Tables[0].Rows.Count;
while (i > 0)
{
i--;
decExampleColumn1 = Convert.ToDecimal(dsExampleResults.Tables[0].Rows[i]["column1"]);
decExampleColumn2 = Convert.ToDecimal(dsExampleResults.Tables[0].Rows[i]["column2"]);
}
}
else
{
i = 0;
while (i < dsExampleResults.Tables[0].Rows.Count)
{
decExampleColumn3 = Convert.ToDecimal(dsExampleResults.Tables[0].Rows[i]["column3"]);
decExampleColumn2 = Convert.ToDecimal(dsExampleResults.Tables[0].Rows[i]["column2"]);
i++;
}
}
}
我不明白它如何循環通過datareader的行數。我知道我可以將dsExampleResults更改爲SqlDataReader drExampleResults,然後將ExecuteReader而不是數據集。但處理返回的數據是我掛斷的地方。 – user234702