|
|
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
Сразу привожу код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. В общем почему-то при определенных условиях цикл обновления зацикливается, т.е. l_objRecordSetSecond.EOF всегда False. А в остальных случаях нет. В чем проблема пока не вижу. Может есть какой другой способ определения кол-ва записей и текущего положения указателя на запись??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 11:05 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
А зачем шило на мыло менять 8) Все равно зацикливается. Он то зацикливается, то нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 11:59 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
On Error Resume Next уберите, если он есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 12:10 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
Положение исправилось заменой выборки, а именно вместо определенных полей выбирал все Было Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Стало Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Просто вспомнил, что уже сталкивался с этой ерундой, но как-то забыл между делом. А тут бац и ошибка вылетела, хотя до этого все работало ) Надеюсь, на этом глюков не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 13:03 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
MelkiadesOn Error Resume Next уберите, если он есть.т.е. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 13:57 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
В смысле т.е. ... Да, в проге есть On Error Resume Next, просто писалось все это месяцев 5 назад, я тогда вообще не шарил в этом ) Походу надо выходить из цикла при условии возникновения ошибки. Какими доводами я руководствовался писав тот код уже не помню 8) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 14:17 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
Просто казалось, что если Recorset не сделает успешный Update, я отловлю эту ошибку, далее очищу объект Err, и перейду на сл. запись, которую тоже попытаюсь модифицировать, и так пока все записи не будут обработаны. Поэтому и On Error Resume Next и эта проверка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 14:25 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
Do Until l_objRecordSetSecond.EOF l_objRecordSetSecond.Edit l_objRecordSetSecond.Fields("state").Value = -1 l_objRecordSetSecond.Update If (Err <> 0) Then l_flagWasError = True Err.Clear End If l_objRecordSetSecond.MoveNext Loop ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 14:28 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
Такого метода у моего рекорсета нет - l_objRecordSetSecond.Edit ;) В общем суть происходящего я так и не понял, хотя и решил проблему. Но это все заставляет призадуматься, - "А будет ли в дальнейшем работать?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 14:37 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
В обработчике надо ставить Resume Иначе, после ошибки в рекордсете, MoveNext просто не сработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 14:54 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
M0r0Такого метода у моего рекорсета нет - l_objRecordSetSecond.Edit ;) В общем суть происходящего я так и не понял, хотя и решил проблему. Но это все заставляет призадуматься, - "А будет ли в дальнейшем работать?" а нуда это же ADO а не DAO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 14:56 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
Положите на форму два лабела, два текстбокса и кнопку И погоняйте программу по F8. Тогда все станет ясно. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 15:46 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
вместо текстбоксов и лайблов можно использовать Debug.Print и смотреть результат в окне отладки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 16:14 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
Попробую, но уже завтра, т.к. рабочий день ви енд 8) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 16:32 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
M0r0 а какие индексы есть на таблице? и лучше не используйте adOpenDynamic ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2006, 09:15 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
Индексов на этой таблице нет вообще. adOpenDynamic нужна так как надо сразу же видеть изменения. В общем проблему решил и остановлюсь на этом решении, а дальше видно будет ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2006, 12:52 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
В догонку. Resume тоже не исправляет положение, Recordset все равно остается слепым как крот и не видет количества своих записей, а также не может взвести флаг EOF . Но это все так послесловие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2006, 12:55 |
|
||
|
RecordSet зацикливание
|
|||
|---|---|---|---|
|
#18+
M0r0В догонку. Resume тоже не исправляет положение, Recordset все равно остается слепым как крот и не видет количества своих записей, а также не может взвести флаг EOF . Но это все так послесловие. Измените тип курсора у l_objDBCConnection с серверного на клиентский. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2006, 13:57 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33691695&tid=2165976]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
175ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 560ms |

| 0 / 0 |
