我有一個存儲過程返回一定數量的行。SqlDataAdapter和SqlDataReader
情況1:當我使用的SqlDataAdapter
SqlDataAdapter sdAdapter = new SqlDataAdapter();
ds = new DataSet();
sdAdapter.SelectCommand = myCommand;
sdAdapter.Fill(ds);
int recordCount = ds.Tables[0].Rows.Count;
情況2:當我使用SqlDataReader的
SqlDataReader reader = myCommand.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
recordCount++;
}
}
在情況1中,總記錄爲15,其是正確的。
在情況2中,出於某種原因,reader.HasRows返回false。
我在語法上做錯了什麼?我相信我的命令已經正確構建,因爲我確實得到了第一種情況的計數。
任何幫助將非常感激。
謝謝
可以或許表明你正在使用的SQL命令.. – MethodMan 2013-02-16 01:47:02
不可能從您發佈的代碼... – 2013-02-16 01:47:49
喜地說,如果我評論的reader.HasRows案例2 ,我仍然可以執行reader.Read()並獲取recordCount的值。所以只是想知道是否有可能hasRows返回false,但仍然有讀者指向查詢的內容? – 2013-02-16 02:49:35