Количество записей с помощью Read () - PullRequest
0 голосов
/ 28 января 2011

Я пытаюсь выяснить, как получить максимальное количество записей, прежде чем заполнить сетку просмотра списка. Я использую БД Oracle 10g и попробовал:

SELECT COUNT(*) as countNum, status, date, theTitle, theMessage, date2 " & _
       "FROM blah blah...

messagebox.show(dr(0))

Но это приводит к сбою SQL-запроса. Не похоже, что я собираюсь добавить что-либо, связанное с "count", в мой запрос, или он потерпит крах, так есть ли какой-нибудь другой способ узнать, сколько записей он возвращает кроме этого?

Спасибо! : О)

David

Ответы [ 4 ]

2 голосов
/ 28 января 2011

Использовать аналитический счет следующим образом: ВЫБЕРИТЕ COUNT (*) через () в качестве countNum, статуса, даты, заголовка, сообщения, даты2 "& _ "ОТ БЛА-БЛА

1 голос
/ 28 января 2011

При использовании агрегатной функции, такой как count, необходимо использовать предложение group by для всех тех полей в наборе результатов, которые не являются результатом агрегатной функции.

0 голосов
/ 28 января 2011

Я бы использовал ЭТО для получения простого количества записей. Не уверен, почему вы хотите получить какие-либо другие поля в этой операции. Если существуют критерии выбора, примените предложение WHERE или HAVING (в зависимости от ситуации):

SELECT COUNT(YourPrimaryKey) As RecordCount
FROM YourTable
GROUP BY YourPrimaryKey

Тогда в вашем коде используйте cmd.ExecuteScalar для получения результата. , ,

0 голосов
/ 28 января 2011

Я написал ваш запрос один раз в виде динамического представления в предложении WITHи объединить счетчик и выбрать по этому запросу в один выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...