![]() |
|
|
![]()
|
|
| Nikkie |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 13.4.2005 Репутация: нет Всего: нет |
Зравствуйте!
Подскажите пожалуйста с примером. Есть таблица Table1, связанная и заполненная, есть результат запроса Query. Как сделать цикл, чтобы поочередно считывать информацию из строк? Как узнать количество строк? например: первая строка: поле1, поле2, поле3.... вторая строка: поле1, поле2, поле3.... .... .... последняя строка: поле1, поле2, поле3.... Заранее благодарен! Это сообщение отредактировал(а) Nikkie - 24.6.2005, 14:34 |
|||
|
||||
| Негодяй |
|
||||
|
Порядочный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1513 Регистрация: 13.2.2005 Где: Kazakhstan, Almat y Репутация: нет Всего: 32 |
Как сделать цикл, чтобы поочередно считывать информацию из строк?
Взято с моего кода. Как узнать количество строк?
|
||||
|
|||||
| Nikkie |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 13.4.2005 Репутация: нет Всего: нет |
А нет ли более интересного варианта
Мне просто надо каждую строку сравнить с RangeMatrix... |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Как это? Query.next - на лету переводит курсор на следующую строку... Fields - на лету даёт доступ к полю... ИМХО, не забывайте что таблица это не массив, запись в таблице это не строка, а к самой таблице обращаться как к какому-то адресному пространству нельзя... Базы данных гораздо более сложные объекты чем простое хранилище данных -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Nikkie |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 13.4.2005 Репутация: нет Всего: нет |
А как вернуться в начало? Как узнать количество строк в таблице? Query1.SQL.Count; Это случайно не количество строк в тексте запроса? Это сообщение отредактировал(а) Nikkie - 24.6.2005, 16:03 |
|||
|
||||
| Негодяй |
|
||||
|
Порядочный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1513 Регистрация: 13.2.2005 Где: Kazakhstan, Almat y Репутация: нет Всего: 32 |
оно
В смысле вернуться тебе нужно в твоей программе снова в цикл и обработать повторно данные. Сделай тогда уж функцию или процедуру и вызывай сколько надо. |
||||
|
|||||
| Nikkie |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 13.4.2005 Репутация: нет Всего: нет |
Может кто-нибудь все-таки покажет как узнать количество записей в Table и в результате запроса querry?
Мне не кадется если я создам функцию, то курсор переместится в начало... Мне надо запустить процедуру:
А потом ее запустить еще раз через некоторое время... Вот для этого мне и надо вернуть курсор в начало после NEXT... Это сообщение отредактировал(а) Nikkie - 24.6.2005, 17:27 |
|||
|
||||
| Pakshin A. S. |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 2 Всего: 61 |
Всего количество записей в таблице узнается при помощи функции Count
Итого
|
||||
|
|||||
| Nikkie |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 13.4.2005 Репутация: нет Всего: нет |
Ага уже лучше
А из результата запроса querry И все таки как вернуть курсор после Next в начало Table? |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 2 Всего: 61 |
Просмотрим грубую демку
Вроде должно работать... Но также есть и таккая вещь вроде Table1.Eof или как-то так... щас посмотрю... Скажи: для чего нужно знать кол-во записей? |
|||
|
||||
| Nikkie |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 13.4.2005 Репутация: нет Всего: нет |
Ого! Вот эого достаточно вполне
А First - это он переводит курсор в начало?
Вроде все правильно... |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 2 Всего: 61 |
s:=inc(s,1);
Может проще s:=inc(s); А так все верно... First - возврат к первой записи... Добавлено @ 17:55 точнее... inc(s) вообще... Добавлено @ 17:56 Table1.Fields.count заменить нуна вроде на Table1.Fields.count-1 |
|||
|
||||
| Nikkie |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 13.4.2005 Репутация: нет Всего: нет |
ТОчно
Ура заработала!!! |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 2 Всего: 61 |
Обращайся.. если что...
|
|||
|
||||
| Vit |
|
||||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Next - следующая First - в начало Last - в конец Previous - к предыдущей -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||||
|
|||||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |