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


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

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

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

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

Можно попробовать использовать SP с выходным параметром...
...
Рейтинг: 0 / 0
13.04.2004, 17:08
    #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
13.04.2004, 17:27
    #32479698
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать кол-во выбранных строк?
В случае "тяжелого" запроса последний вариант будет очень неэффективным.
Мне кажется, лучший способ - завернуть запрос в хранимую процедуру. В ней посчитать кол-во строк в резалтсете и засунуть в output-переменную.
...
Рейтинг: 0 / 0
13.04.2004, 18:06
    #32479778
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать кол-во выбранных строк?
если датаридер - поддерживаю это

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

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

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

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


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

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

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



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


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