Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать, сколько строк вернул запрос? [D5, IB6.x]


Страницы:   1 2

tria ©   (2003-10-02 10:27:00) 

Использую TIBSql. Можно ли узнать, сколько строк вернул запрос? До того, как пройдусь по всем строкам?


MsGuns   (2003-10-02 16:40:00) [1]

>tria © (02.10.03 14:06) [27]
Не для того, чтобы что-то тебе доказать - мне это абсолютно не надо, а токмо ради пользы дела - получай "зачатки"

procedure TfrmOut.grOutProdDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
BkgColor: TColor;
begin
if gdSelected in State then OutRect := Rect;
if not (gdSelected in State) then
BkgColor := TDBGrid(Sender).Color
else
if TDBGrid(Sender).Focused then
BkgColor := clActiveCaption // Синий для текущей строки
else
BkgColor := clMedGray; // Серый для текущей строки
TDBGrid(Sender).Canvas.Brush.Color:=BkgColor;
TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;


В этом примере красится вся строка, но если надо только некоторые ячейки, делай анализ на принадлежность прорисовываемой ячейке этим некоторым..
У класса TColumn есть св-во Field, через которое можно выйти на значение поля


tria   (2003-10-02 14:47:00) [2]

>VAleksey
Спасибо за внесенную ясность. Я с тобой согласен. Просто надеялся, что может есть какая-то возможность.


VAleksey   (2003-10-02 14:43:00) [3]

Можно я подведу итог?
По сабжу:
Либо отдельный запрос с count, либо FetchAll + RecordCount.
По вопросу в теле сообщения:
Только предварительный count запроса. Иначе никак.


tria   (2003-10-02 14:06:00) [4]

>MsGuns А я не умничаю. Я специалист по 1С, а Делфи - больше для души.
>1. Грид с возможностью объединения ячееек.
>Без проблем на обычном гриде с написанием, ессно, кое-какого кода
Не знаю, у меня до сих пор проблемы. Хоть и мелкие. И пусть мне многоуважаемый MsGuns кинет в меня исходником, где бы он реализовал зачатки такого грида. Иначе при всем уважении - "ИМХО, присутствует некоторое умничание". Докажи обратное.

stud> Слышал, но не рассматривал. Но как-то в форуме было обсуждение, в котором было сказано об отсутсвии гридов, в которых одна запись представлялась бы несколькими строками. Но как я уже говорил, могу сильно ошибаться.

Хотя поздно, много чего уже работает, в откате назад не вижу смысла.


stud   (2003-10-02 13:22:00) [5]

тебе поможет quantumgrid!))


MsGuns   (2003-10-02 13:17:00) [6]

>tria © (02.10.03 12:50) [23]
>Попробую по пунктам некоторые особенности:

>1. Грид с возможностью объединения ячееек.
Без проблем на обычном гриде с написанием, ессно, кое-какого кода

>. Одна запись может соответствовать нескольким строкам грида.
OnDawColumnCll - и что душе угодно, хотб голых девок в ячейках.

>. Корректировка записи происходит не в гриде, а в открывающемся окне.
А причем здесь грид ?

Вообще же, ИМХО, присутствует некоторое умничание, т.е. попытка простое сделать сложным ;)))


Vlad   (2003-10-02 12:53:00) [7]

Ну тогда всё круто :)


tria   (2003-10-02 12:50:00) [8]

Прошу прощения за отсутствие.

Попробую по пунктам некоторые особенности:
1. Грид с возможностью объединения ячееек.
2. Одна запись может соответствовать нескольким строкам грида. Таких ДБГридов я не встречал. Может вы знаете.
3. Корректировка записи происходит не в гриде, а в открывающемся окне.


Vlad   (2003-10-02 12:03:00) [9]

Лично для меня задачка интересна тем, почему такие хитрости - премудрости ? Чем обычная связка DBGrid-DataSource-IBDataSet не устраивает ? Из соображений экономии памяти ? Сомневаюсь...


tria   (2003-10-02 12:02:00) [10]

Sergey13>Offtop Блин, да юмор твой понравился. Я бы сам такое написал, если бы додумался. Мы тебя хвалим, а ты обижаешься. Все, хватит об этом.


Sergey13   (2003-10-02 11:58:00) [11]

А че вы так ржете то? Там только правда и ничего кроме правды. 8-)
Я обиделся и ушел. 8-(


tria   (2003-10-02 11:58:00) [12]

Sergey13>Offtop Последние данные: увлечение/хобби + интересное о себе. Вызвало улыбку и у соседей по кабинету. Ладно, закрыли эту тему. Лучше скажи, чем же так интересна задача?


Жук   (2003-10-02 11:56:00) [13]


> Sergey13 © (02.10.03 11:54) [17]

:-)))


Sergey13   (2003-10-02 11:54:00) [14]

2tria © (02.10.03 11:51) [16]
>Offtop
А че такое? Я даже сам перечитал, чего не делал мимимум год. 8-)


tria   (2003-10-02 11:51:00) [15]

Sergey13>Offtop. Классная у тебя анкета... Оценил.


Sergey13   (2003-10-02 11:46:00) [16]

2tria © (02.10.03 11:39) [14]
>Все очень просто: использую не TDbGrid, а потомок от TDrawgrid для простого отображения данных.
Считал строку запроса, добавил в грид строку,перенес значения.

Задача становится все более интересной. 8-)


tria   (2003-10-02 11:39:00) [17]

Все очень просто: использую не TDbGrid, а потомок от TDrawgrid для простого отображения данных.
Считал строку запроса, добавил в грид строку,перенес значения.


Johnmen   (2003-10-02 11:35:00) [18]

>tria © (02.10.03 11:18)

Не верю :) Не верю, что ты смог отобразить в "обычном гриде" НД, полученный с пом. TIBSQL ! Он же однонаправленный !


tria   (2003-10-02 11:33:00) [19]

Дело в том, что транзакция чтения у меня не SnapShot, а "read_committed","rec_version","nowait"
Делать ее SnapShot - лишняя нагрузка на сервер.
И опять же, для запроса, вернувшего 5 строк, выгоднее работать одним запросом. Для случая 500 - наверное вторым. А у меня есть и такие, и такие. И заранее знать сколько приблизительно строк вернет запрос я не могу.
Все равно большое спасибо за обсуждение.


Vlad   (2003-10-02 11:29:00) [20]

Ну да, чем не вариант ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо