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

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

Как после SQL запроса


Страницы:   1 2

Петрович ©   (2003-08-28 11:57:00) 

Как после SQL запроса "скакнут" в DBGrid куда-то в середину не использую query1.Next ? Я хочу протянуть лифт далеко вниз (20000 строк, например) щелкнуть по строке (например 13246) и тутже начать считывать и обрабатывать следующие строки 13247, 13248, ... Но при этом строки выше 13246 должны присутствовать.
Чтобы к ним можно былобы вернуться использую лифт.
(20000 и 13246 взяты просто так, но порядо похож)


Hawk2   (2003-08-28 15:23:00) [1]

Все здался, на этот раз счет 1:0 в пользу знатоков :-)


MsGuns   (2003-08-28 15:20:00) [2]

>Петрович (28.08.03 14:17) [17]
>Итак нужен ответ на П.8 из спсика

RecNo

>Петрович (28.08.03 14:31) [19]
>Закрываем тему.

Баба с возу..


Петрович   (2003-08-28 14:31:00) [3]

ВСЕ. Всем спасибо.
Закрываем тему.


MsGuns   (2003-08-28 14:20:00) [4]

... Обознался. Петрович, прости, родной - ошибка вышла (по щеке бежит скупая программерская слеза) ;)))

>Петрович (28.08.03 14:11) [15]
Так вот я и говорю, может ентот "Диск" служит чем-то вроде папки. Тогда сделай 2 режима просмотра:
1. Обычный сквозной
2. По дискам. Сделай дополнительный запрос для извлечения дисков (select distinct), и свяжи с этим датасетом свой основной обычный отношением "один-ко-многим" (св-во DataSource+F1)

ИМХО, будет лучше, чем гайсать по тыще фоток.


Петрович   (2003-08-28 14:17:00) [5]

Ладно. Все это треп, особенно вроде ОРЕШНИКА. Ценю юмор, но помошь все-таки ценней.
Итак нужен ответ на П.8 из спсика


MsGuns   (2003-08-28 14:13:00) [6]

Мужики, че-то вспомнилось, как тут вышивал один хохмач с пару недель назад с подобными вопросами - подначками. И вроде бы даже ник тот же...
Иль обшибся маненько ?


Петрович   (2003-08-28 14:11:00) [7]

Хорошо.
Ставлю весь вопрос.
...SQL.open;
получаю в DBGrid много(!?) строк из полей
ДИСК ФАЙЛ(фото где-то на диске)
первые 10 фоток высвечиваю на этой же форме. номер диска и номер фото(файл) беру из 10 первых строк DBGrid
ВСЕ - смотрю и любуюсь
где-то щелкаю и получаю очередные 10 фоток
ВСЕ ФОТКИ ХРАНЯТСЯ ГДЕ-ТО НА СЕРВЕРЕ
ПРОСТЫМ ПЕРЕБОРОМ ПО DBGrid ищу нужное (например по морде)
затем просто лифт тащу вниз. Приедполагаю что нужное например на диске 45. щелкаю по первому файлу диска 45... Отрабатывает выброс 10 фоток на форму. Но когда выбрасываю фотки я перебираю DBGri (NEXT) Мне нужно взять номер диска и номер фотки для пути к файлу. при простом переборе это быстро
А вот когда я щелкаю где-то в середине списка DBGrid - то простым query1.NEXT - утомительно долго указатель идет к нужной строке. Вот в чем проблема. Ведь после нахождения этих фоток с 45 диска (например) мне нужно тутже уйти на 13 диск.


DenK_vrtz   (2003-08-28 14:04:00) [8]

Картина маслом "Юзер, скачущий куда-то в середину грида" :-)


Danilka   (2003-08-28 13:56:00) [9]

VAleksey © (28.08.03 13:52)
лифты какие-то, скачки, гы. :))
чуть-чуть до орешника не дотягивает, еще какого-нибудь прикола.


VAleksey   (2003-08-28 13:52:00) [10]


> масштабатора

Супер !
:-)
Автор в принципе не представляет себе работу с БД. ИМХО. И связку dbGrid - DataSource - DataSet.


MsGuns   (2003-08-28 13:46:00) [11]

Если такая прорва записей, то, ИМХО, надо всерьез подумать об удобстве работы с такой информацией. Например, группировать, а группы сообразить в виде дерева. по аналогии с файловой системой.

А вообще-то можно в программе сделать что-то вроде масштабатора - т.е. после выборки НД весь его зарефрешить, определить <К-во записей всего>, далее при "скачках" работать с этим масштабатором по принципу

From RecNo To [1..RecordCount]

задавая масштаб "скачков" (через 1 запись, 10, 100 и т.д.)

Хотя, честно говоря, так и не понял, а на фиг (точнее кому) это нужно ;((


DenK_vrtz   (2003-08-28 13:44:00) [12]

Петрович (28.08.03 13:42), зачем?


Zacho   (2003-08-28 13:44:00) [13]


> Петрович (28.08.03 13:42) [8]

Эта запись и так будет текущей, переходить на нее не надо.


Петрович   (2003-08-28 13:42:00) [14]

Так. вопрос ставлю теперь по другому:
как мне определить номер строки в DBGrid, по которой я сделал щёлк???


Zacho   (2003-08-28 13:42:00) [15]


> Петрович (28.08.03 13:39) [6]

Ничего не понятно.. Все-таки, на какую запись надо перейти ???


Петрович   (2003-08-28 13:39:00) [16]

я не знаю номер строки. я просто нашел в DBGrid строчку, прикинул что мне вроде нужна информация связанная с этой строкой
Query.MoveBy(13232); - это фактически
а мне нужно формально
Т.Е сам щёлк по DBGrid может дать номер этой строки???
ПО которой делаю этот щелк. Вот тогда можно и эту строку в код вписать... НО ...


Zacho   (2003-08-28 13:21:00) [17]


> Петрович (28.08.03 12:33) [2]

TQuery.MoveBy(на_какое_кол-во_записей_вперед_надо_перейти)
Например:
Query.Open;
Query.MoveBy(13232);
Переходим на 13232-ю запись.


Vlad   (2003-08-28 13:20:00) [18]

> VAleksey © (28.08.03 13:02) [3]
> Просто на любую строку?
Это как ? MoveBy рандомайзом чтоли ? :-)


VAleksey   (2003-08-28 13:02:00) [19]

А куда скакнуть то надо?
Просто на любую строку? Или строку с конкретным значением?


Петрович   (2003-08-28 12:33:00) [20]

У меня база (например) фотоархива там фоток немеряно...
каждаф фотка имеет свой номер диска и номер файла на диске, а также описание фотки. гдето на форме всвечиваются маленькие копии этих фоток. я чего-то ищу - вот и вся процедура
а ответ не понял что нужно... TQuery.MoveBy(???)
Поясни подробней пожалуйста


Страницы:   1 2

Наверх

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