powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как узнать кол-во выбранных строк?
11 сообщений из 11, страница 1 из 1
Как узнать кол-во выбранных строк?
    #32478626
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю СЕЛЕКТ в БД, как после этого узнать кол-во выбранных строк? Можно конечно DataReader'ом пробежаться по результатам и всех их посчитать, но неужели нет какого-нить св-ва, что бы это получить?


Я сделал всё что мог, кто может пусть сделает лучше.
...
Рейтинг: 0 / 0
Как узнать кол-во выбранных строк?
    #32478729
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Table.Rows.Count;
...
Рейтинг: 0 / 0
Как узнать кол-во выбранных строк?
    #32479053
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Table.Rows.Count;

для этого я должен эту таблицу иметь, а получить я её могу когда по результатам выборки датаридером пройдусь или есть другой способ?
ах да, можно конечно датасет через адаптер заполнить, но не очьнь то это удобно мне...
есть ещё варианты?

Я сделал всё что мог, кто может пусть сделает лучше.
...
Рейтинг: 0 / 0
Как узнать кол-во выбранных строк?
    #32479132
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так как DataReader implements IEnumerable - то от него никак эту информацию не получить без предварительного прохода по всем элементам

По идее ExecuteDataReader() должна знать эту информацию но она никак ее не возвращает... У Connection тоже нет никаких нужных свойств

Можно попробовать использовать SP с выходным параметром...
...
Рейтинг: 0 / 0
Как узнать кол-во выбранных строк?
    #32479655
Por
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Por
Гость
А если так:

SqlCommand c = new SqlCommand();
c.Connection = MyConnection;
c.CommandText = "select count(*) from <My select>";
MyConnection.Open();
int Count = c.ExecuteScalar;
...
Рейтинг: 0 / 0
Как узнать кол-во выбранных строк?
    #32479698
Bigheadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В случае "тяжелого" запроса последний вариант будет очень неэффективным.
Мне кажется, лучший способ - завернуть запрос в хранимую процедуру. В ней посчитать кол-во строк в резалтсете и засунуть в output-переменную.
...
Рейтинг: 0 / 0
Как узнать кол-во выбранных строк?
    #32479778
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если датаридер - поддерживаю это

funikovyuri Можно попробовать использовать SP с выходным параметром...
и это
BigheadmanМне кажется, лучший способ - завернуть запрос в хранимую процедуру. В ней посчитать кол-во строк в резалтсете и засунуть в output-переменную.
потому что одно и тоже :)
...
Рейтинг: 0 / 0
Как узнать кол-во выбранных строк?
    #32479791
Por
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Por
Гость
SqlCommand c = new SqlCommand("Select @@ROWCOUNT as Count",MyConnection);
int Count = c.ExecuteScalar();
дает прекрасные и быстрые результаты. Только для предыдущей команды нужно использовать тот же MyConnection.
...
Рейтинг: 0 / 0
Как узнать кол-во выбранных строк?
    #32479804
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Por

Согласен - это как раз то что должен делать ExecuteReader() :(

PS> главное в свойствах сервера не поставить nocount on :)
...
Рейтинг: 0 / 0
Как узнать кол-во выбранных строк?
    #32480446
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе такой вариант тоже работает, но спорить не буду может с ХП оно и лучше будет....

Код: plaintext
1.
2.
3.
4.
myExecuteQuery= "SELECT *....." ;
myCommand = new OleDbCommand(myExecuteQuery, oleDbConnection2);
oleDbConnection2.Open();
myCommand.ExecuteNonQuery();
oleDbConnection2.Close();


Всем большое спасибо !

Я сделал всё что мог, кто может пусть сделает лучше.
...
Рейтинг: 0 / 0
Как узнать кол-во выбранных строк?
    #32480465
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардоньте ошибочка в коде вышла...

Код: plaintext
1.
2.
3.
4.
myExecuteQuery= "SELECT *....." ;
myCommand = new OleDbCommand(myExecuteQuery, oleDbConnection2);
oleDbConnection2.Open();
int Count = myCommand.ExecuteNonQuery();
oleDbConnection2.Close();



Я сделал всё что мог, кто может пусть сделает лучше.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как узнать кол-во выбранных строк?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]