|
|
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Умоляю помогите! Запрос в теле программы возвращает только 1 запись, запрос как объект базы данных точно такой же - больше. Как сделать чтобы запрос в программе возвращал реальное кол-во записей? Спасибо заранее! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:06:31 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Что то не совсем понятно. И запрос можно опубликовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:14:14 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Запрос ЭЛЕМЕНТАРНЫЙ Set q = db.CreateQueryDef("", "SELECT * FROM priluki") - в теле программы и SELECT * FROM priluki текст запроса. в базе - 160 000 записей. Так вот в программе RecordCount = 1. я уже устала бороться. Запрос был с параметрами сначала, потом я методом исключения искала ошибку. и нашла... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:18:24 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
С recordCount свои заморочки лучше попробуй проверить количество записей через rs.EOF + Поиск по форуму по ключевому слову RecordCount (много интересного) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:28:45 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Если на основе запроса формируется рекордсет, то в свое время умные люди подсказали мне сделать rst.movelast, а потом rst.movefirst. Тогда RecordCount показывает правильное количество записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:40:38 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
ЛифчикЕсли на основе запроса формируется рекордсет, то в свое время умные люди подсказали мне сделать rst.movelast, а потом rst.movefirst. Тогда RecordCount показывает правильное количество записей Но эта операция требует времени, поэтому стОит взвесить, нужен ли этот RecordCount. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:41:45 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
EOF = false даже если я говорю курсору пойти на 54677 запись... но мне нужно поочереди просмотреть строки из этого запроса... что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:42:47 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
с походом сначала в конец а потом в начало - работает... и жело тут не во времени... просто через задний проход как-то... некрасивенько и неаккуратненько! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:45:04 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
katarina_kievEOF = false даже если я говорю курсору пойти на 54677 запись... но мне нужно поочереди просмотреть строки из этого запроса... что делать? Я обычно пишу так: set rs=... if not rs.bof then do until rs.eof ... rs.movenext loop end if rs.close Никакой recordcount здесь не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:49:00 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
спасибо большое! я даже не надеялась на такой быстрый и классный ответ! спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:53:26 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
:^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:53:44 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Ну а я теперь буду писать примерно так: ...24/06/04 19:49 Саныч подсказал мне...итд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 20:12:03 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
ЛифчикНу а я теперь буду писать примерно так: ...24/06/04 19:49 Саныч подсказал мне...итд А как же ты писал до сих пор??? Неужели так: set rs=... if not rs.bof then rs.movelast n=rs.recordcount rs.movefirst for i=1 to n ... next end if rs.close ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 20:15:16 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
авторset rs=... if not rs.bof then rs.movelast n=rs.recordcount rs.movefirst for i=1 to n ... next end if rs.close ??? Саныч, ты зря смеешься. Не самый плохой вариант.И во многих случаях гораздо более быстрый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 20:24:17 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Я не смеюсь. Я только спросил у Лифчика, писал ли он... ну и далее по тексту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 20:25:15 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Саныч, долго искал, зачем мне RecordCount точный понадобился. Оказывается, в одном месте деляю ReDim одного массива на основании точного значения. А зачем это - самому теперь надо разбираться. Забыл :( Но в обычных ситуациях RecordCount конечно не нужен, достаточно знать, что он >0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 20:47:42 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
ЛифчикСаныч, долго искал, зачем мне RecordCount точный понадобился. Оказывается, в одном месте деляю ReDim одного массива на основании точного значения. А зачем это - самому теперь надо разбираться. Забыл :( Но в обычных ситуациях RecordCount конечно не нужен, достаточно знать, что он >0 Да нет, с этим все понятно. Ты мне скажи, чем тебя так поразил мой пост от 19:49. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 20:54:53 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Зато теперь Лифчик может писать " до 24/06/04 19:49 и после 24/06/04 20:24 я писал... " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 20:57:36 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Саныччем тебя так поразил мой пост от 19:49. Поразил тем же, чем и автора топика авторя даже не надеялась на такой быстрый и классный ответ! Ты даешь ответ сразу более глубокий, потому что знаешь, чего челу надо (телепатия) В данном случае ты дал наводящий вопрос: СанычНо эта операция требует времени, поэтому стОит взвесить, нужен ли этот RecordCount., из ответа на который понятно, что автору сам RecordCount не нужен. Это мастерство-с ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 21:09:38 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Кстати, Лифчик прав: help a97Свойство RecordCount не показывает, сколько записей содержится в динамическом или статическом объекте Recordset до обращения ко всем записям. После обращения к последней записи набора значение свойства RecordCount становится равным полному числу неудаленных записей в объекте Recordset или TableDef. Для принудительного обращения к последней записи следует вызвать для объекта Recordset метод MoveLast. Кроме того, определить примерное число записей, которые будут возвращены в запросе, позволяет функция Count языка SQL. Примечание. Заполнение с помощью метода MoveLast объекта Recordset при его открытии отрицательно сказывается на быстродействии. Если точное определение значения свойства RecordCount не требуется сразу после открытия объекта Recordset, рекомендуется подождать, пока объект Recordset будет заполнен в результате выполнения остальной программа, а уже потом обращаться к свойству RecordCount. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 21:11:52 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Чего только не узнаешь о себе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 21:12:38 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
А я все кручу в голове (циклом) вот это: (c)VIGНе самый плохой вариант.И во многих случаях гораздо более быстрый. Не могу понять, когда так может получиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 21:15:29 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
В случае, если действительно надо узнать кол-во записей, movelast пожалуй будет работать быстрее, чем movenext:loop. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 21:17:35 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
GeoВ случае, если действительно надо узнать кол-во записей, movelast пожалуй будет работать быстрее, чем movenext:loop. Нет сомнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 21:18:50 |
|
||
|
Запрос в теле программы возвращает только 1 запись
|
|||
|---|---|---|---|
|
#18+
Владимир СанычА я все кручу в голове (циклом) вот это: (c)VIGНе самый плохой вариант.И во многих случаях гораздо более быстрый. Не могу понять, когда так может получиться. Да все просто. В конструкции do while not rs.EOF ..... loop на каждой итерации проверяется значение свойства EOF обьекта Recordset А обращение к свойству операция более медленная чем чтение значения переменной. На больших обьемах данных потери в производительности могут достигать 25-30%. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 21:55:31 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32576381&tid=1673597]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
460ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 822ms |

| 0 / 0 |
