2013-05-03 3 views
-3

Как получить длину DataReader, что-то вроде:Как узнать, сколько элементов datareader прочитало?

sqlDataReader dr = command.ExecuteReader(); 
dr.Read(); 

int L= dr.Length;// this doesn't work. 

?

+0

Количество строк или столбцов? –

+0

строки дорогие, спасибо заранее – Aan

+0

http://stackoverflow.com/questions/1383315/how-to-get-number-of-rows-using-sqldatareader-in-c-sharp – Arshad

ответ

5

Вы можете отслеживать, сколько у вас предметов уже читайте с DataReader просто с помощью счетчика. Однако, я не верю, что есть какой-либо общий способ выяснить, сколько строк там будет без просто читать их:

int count = 0; 
while (dr.Read()) 
{ 
    // Use the row data, presumably 
    count++; 
} 
0

Я не думаю, что DataReader предоставляет свойство Count на себя. Вам нужно будет ли цитировать datareader и увеличивать переменную ИЛИ выполнять сначала подсчет количества (*) с теми же условиями, которые вы используете при выполнении вашей команды.

0

Нет метод (по крайней мере, я не знаю) для подсчета строк или столбцов. Используйте специальный счетчик в вашем цикле while.

  • Узнайте, прочитав все строки как пользовательскую операцию. Подобно;

while(dr.Read()) 
{ 
    // Do your operations.. 
    counter++; 
} 
  • Выполнить запрос как Select Count(*) перед операцией.
Смежные вопросы