Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не могу закрыть ADODB.Recordset в обработчике ошибок / 2 сообщений из 2, страница 1 из 1
10.06.2004, 11:50
    #32555869
Elena Gadjieva
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу закрыть ADODB.Recordset в обработчике ошибок
У меня следующая проблема.
Работаю в процедуре с запросом.
Ado_Rs.Open "SELECT dbo.Call.* FROM dbo.Call", MyCnn, adOpenKeyset, adLockOptimistic, adCmdText,
где MyCnn - это ADODB.Connection. Если произошла какая-то ошибка (не связанная с данным запросом) в процедуре, а Ado_rs уже открыт, то в обработчике ошибок при попытке ado_rs.Close возникает следующая ошибка: Operation is not аllowed in this context (№3219). При этом, Ado_rs.State=1. Не могу в Help найти, что означает эта ошибка. Может кто-то сталкивался?

Заранее спасибо за отклик.
...
Рейтинг: 0 / 0
10.06.2004, 12:12
    #32555929
neal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу закрыть ADODB.Recordset в обработчике ошибок
Можно повесить обработчик ошибок

Код: 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.
28.
29.
30.
...
Dim Ers as ADODB.Errors
        ...
        Set Rs1 = Cmd.Execute
        Set Rs1.ActiveConnection = Nothing
        If Rs1.state = adStateClosed Then
            Set Ers = Cmd.ActiveConnection.Errors
            Create_spRecordset = - 1 
            Set Rs1 = Nothing
            Call RegisterUserError(Cmd.Parameters( 0 ).Value, Ers, Frm.Name)
        End If
        If CheckRecordCount And Rs1.RecordCount =  0  Then
            Create_spRecordset = - 1 
            MsgBox "Нет записей!", vbCritical
        End If
    End If
Ex: Set Ers = Nothing
    Set prm = Nothing
    Set Cmd = Nothing
    Exit function
Er:
    Create_spRecordset = Err.NUMBER
    MsgBox Err.Number & vbCrLf & Err.Description, vbCritical
    Resume Ex
End Function

Function RegisterUserError(ErrorValue As Long, CurrentErr As ADODB.Errors, HyIsCalling As String)
    MsgBox "Ошибка " & str(ErrorValue) & vbCrLf _
        & CurrentErr.Item( 0 ).Description, vbExclamation, _
        "При выполнении хр.проц. " & HyIsCalling
End Function
Будет все корректно
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не могу закрыть ADODB.Recordset в обработчике ошибок / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]