Vet inte om det finns i en DataReader, men du kan använda ett schema:
DataTable schemaTable = myReader.GetSchemaTable();
int intPosts = schemaTable.Rows.Count;
2 svar · 261 visningar · startad av Prästen
Har letat med ljus och lykta efter egenskapen i datareadern som returnerar antalet poster i datareadern. Men det verkar inte existera, FieldCount returnerar bara antalet columner i nuvarande post. Finns det kanske ingen datareader.antalposter ? ..
Och en annan sak, i intellisensen får jag inte fram datareader.Item , den verkar inte existera alls på min, även fast jag har .NET 1.1 installerad, men i documentationen står det att den finns?. skumt.
Vet inte om det finns i en DataReader, men du kan använda ett schema:
DataTable schemaTable = myReader.GetSchemaTable();
int intPosts = schemaTable.Rows.Count;
Det finns helt enkelt ingen egenskap på datareadern som berättar hur många poster den "innehåller"
Detta beror på att den faktiskt inte vet det själv :)
Den är egentligen bara en ström som läser sekventiellt i resultaten av en sql-fråga. Detta för maximal prestanda förstås!
Sen finns det ju lösningar och workarounds. Jag använder nästan alltid datareadern för att fylla på en ArrayList med något. Då är ju problemet löst.
Alternativet är att samtidigt skicka med en sqlfråga som kollar hur många poster man kommer att hämta upp.
Exempel: här
Allt beror på hur man har tänkt att använda sin datareader.