Форум: "Базы";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];
ВнизКак после SQL запроса Найти похожие ветки
← →
Петрович (2003-08-28 11:57) [0]Как после SQL запроса "скакнут" в DBGrid куда-то в середину не использую query1.Next ? Я хочу протянуть лифт далеко вниз (20000 строк, например) щелкнуть по строке (например 13246) и тутже начать считывать и обрабатывать следующие строки 13247, 13248, ... Но при этом строки выше 13246 должны присутствовать.
Чтобы к ним можно былобы вернуться использую лифт. (20000 и 13246 взяты просто так, но порядо похож)
← →
Zacho (2003-08-28 12:03) [1]А зачем такое кол-во строк показывать в гриде ? Ни один нормальный юзер с таким кол-вом записей в гриде работать не сможет.
А ответ на вопрос - TQuery.MoveBy()
← →
Петрович (2003-08-28 12:33) [2]У меня база (например) фотоархива там фоток немеряно...
каждаф фотка имеет свой номер диска и номер файла на диске, а также описание фотки. гдето на форме всвечиваются маленькие копии этих фоток. я чего-то ищу - вот и вся процедура
а ответ не понял что нужно... TQuery.MoveBy(???)
Поясни подробней пожалуйста
← →
VAleksey (2003-08-28 13:02) [3]А куда скакнуть то надо?
Просто на любую строку? Или строку с конкретным значением?
← →
Vlad (2003-08-28 13:20) [4]> VAleksey © (28.08.03 13:02) [3]
> Просто на любую строку?
Это как ? MoveBy рандомайзом чтоли ? :-)
← →
Zacho (2003-08-28 13:21) [5]
> Петрович (28.08.03 12:33) [2]
TQuery.MoveBy(на_какое_кол-во_записей_вперед_надо_перейти)
Например:
Query.Open;
Query.MoveBy(13232);
Переходим на 13232-ю запись.
← →
Петрович (2003-08-28 13:39) [6]я не знаю номер строки. я просто нашел в DBGrid строчку, прикинул что мне вроде нужна информация связанная с этой строкой
Query.MoveBy(13232); - это фактически
а мне нужно формально
Т.Е сам щёлк по DBGrid может дать номер этой строки???
ПО которой делаю этот щелк. Вот тогда можно и эту строку в код вписать... НО ...
← →
Zacho (2003-08-28 13:42) [7]
> Петрович (28.08.03 13:39) [6]
Ничего не понятно.. Все-таки, на какую запись надо перейти ???
← →
Петрович (2003-08-28 13:42) [8]Так. вопрос ставлю теперь по другому:
как мне определить номер строки в DBGrid, по которой я сделал щёлк???
← →
Zacho (2003-08-28 13:44) [9]
> Петрович (28.08.03 13:42) [8]
Эта запись и так будет текущей, переходить на нее не надо.
← →
DenK_vrtz (2003-08-28 13:44) [10]Петрович (28.08.03 13:42), зачем?
← →
MsGuns (2003-08-28 13:46) [11]Если такая прорва записей, то, ИМХО, надо всерьез подумать об удобстве работы с такой информацией. Например, группировать, а группы сообразить в виде дерева. по аналогии с файловой системой.
А вообще-то можно в программе сделать что-то вроде масштабатора - т.е. после выборки НД весь его зарефрешить, определить <К-во записей всего>, далее при "скачках" работать с этим масштабатором по принципу
From RecNo To [1..RecordCount]
задавая масштаб "скачков" (через 1 запись, 10, 100 и т.д.)
Хотя, честно говоря, так и не понял, а на фиг (точнее кому) это нужно ;((
← →
VAleksey (2003-08-28 13:52) [12]
> масштабатора
Супер !
:-)
Автор в принципе не представляет себе работу с БД. ИМХО. И связку dbGrid - DataSource - DataSet.
← →
Danilka (2003-08-28 13:56) [13]VAleksey © (28.08.03 13:52)
лифты какие-то, скачки, гы. :))
чуть-чуть до орешника не дотягивает, еще какого-нибудь прикола.
← →
DenK_vrtz (2003-08-28 14:04) [14]Картина маслом "Юзер, скачущий куда-то в середину грида" :-)
← →
Петрович (2003-08-28 14:11) [15]Хорошо.
Ставлю весь вопрос.
...SQL.open;
получаю в DBGrid много(!?) строк из полей
ДИСК ФАЙЛ(фото где-то на диске)
первые 10 фоток высвечиваю на этой же форме. номер диска и номер фото(файл) беру из 10 первых строк DBGrid
ВСЕ - смотрю и любуюсь
где-то щелкаю и получаю очередные 10 фоток
ВСЕ ФОТКИ ХРАНЯТСЯ ГДЕ-ТО НА СЕРВЕРЕ
ПРОСТЫМ ПЕРЕБОРОМ ПО DBGrid ищу нужное (например по морде)
затем просто лифт тащу вниз. Приедполагаю что нужное например на диске 45. щелкаю по первому файлу диска 45... Отрабатывает выброс 10 фоток на форму. Но когда выбрасываю фотки я перебираю DBGri (NEXT) Мне нужно взять номер диска и номер фотки для пути к файлу. при простом переборе это быстро
А вот когда я щелкаю где-то в середине списка DBGrid - то простым query1.NEXT - утомительно долго указатель идет к нужной строке. Вот в чем проблема. Ведь после нахождения этих фоток с 45 диска (например) мне нужно тутже уйти на 13 диск.
← →
MsGuns (2003-08-28 14:13) [16]Мужики, че-то вспомнилось, как тут вышивал один хохмач с пару недель назад с подобными вопросами - подначками. И вроде бы даже ник тот же...
Иль обшибся маненько ?
← →
Петрович (2003-08-28 14:17) [17]Ладно. Все это треп, особенно вроде ОРЕШНИКА. Ценю юмор, но помошь все-таки ценней.
Итак нужен ответ на П.8 из спсика
← →
MsGuns (2003-08-28 14:20) [18]... Обознался. Петрович, прости, родной - ошибка вышла (по щеке бежит скупая программерская слеза) ;)))
>Петрович (28.08.03 14:11) [15]
Так вот я и говорю, может ентот "Диск" служит чем-то вроде папки. Тогда сделай 2 режима просмотра:
1. Обычный сквозной
2. По дискам. Сделай дополнительный запрос для извлечения дисков (select distinct), и свяжи с этим датасетом свой основной обычный отношением "один-ко-многим" (св-во DataSource+F1)
ИМХО, будет лучше, чем гайсать по тыще фоток.
← →
Петрович (2003-08-28 14:31) [19]ВСЕ. Всем спасибо.
Закрываем тему.
← →
MsGuns (2003-08-28 15:20) [20]>Петрович (28.08.03 14:17) [17]
>Итак нужен ответ на П.8 из спсика
RecNo
>Петрович (28.08.03 14:31) [19]
>Закрываем тему.
Баба с возу..
← →
Hawk2 (2003-08-28 15:23) [21]Все здался, на этот раз счет 1:0 в пользу знатоков :-)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.01 c