Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка recordset / 12 сообщений из 12, страница 1 из 1
08.06.2004, 12:13
    #32552144
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
Как проверить BOF и EOF когда рекордсет не содержит записей?
...
Рейтинг: 0 / 0
08.06.2004, 12:26
    #32552180
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
Ну что тут сказать... когда рекордсет не содержит записей EOF = BOF = True
...
Рейтинг: 0 / 0
08.06.2004, 12:27
    #32552184
naPmu3aH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
А в чем проблема?
Когда нет записей функции IsEOF и IsBOF возвращают не 0.
...
Рейтинг: 0 / 0
08.06.2004, 12:31
    #32552204
naPmu3aH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_CRecordset.3a3a.IsEOF.asp
...
Рейтинг: 0 / 0
08.06.2004, 12:38
    #32552219
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
точно bof=eof=true? а то мы спорим и не знаем как проверить...
...
Рейтинг: 0 / 0
08.06.2004, 14:21
    #32552485
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
Есть отличия, когда можно использовать BOF-EOF, а когда - нет.
Первое - завершилась ли команда успешно.
Второе - свойство CursorLocation...
...
Рейтинг: 0 / 0
10.06.2004, 11:36
    #32555831
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
а как проверить то?
если скачешь по пустой табл. то все = true, но я знаю, что в каких случаях recordset выдает ошибку.
...
Рейтинг: 0 / 0
10.06.2004, 15:51
    #32556489
NikNIkNIk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
Vse proverki delat` esli рекордсет.RecordCount > 0.
...
Рейтинг: 0 / 0
10.06.2004, 15:57
    #32556507
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
а можно на примерчике плиз?
...
Рейтинг: 0 / 0
10.06.2004, 20:39
    #32557148
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
1. Завершилась ли команда успешно:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    'Создание таблицы товаропродаж:
    .CommandText = "SELECT  ........... " & _
                    "INTO #SEL " & vbCrLf & _
                    "FROM ................ " & vbCrLf & _
                    "WHERE ............"
    Dim NPrCount As Long
    .Execute NPrCount
    If NPrCount =  0  Then
        sbrPan = "Нет продаж за период анализа!..."
        GoTo CloseConnect
    End If
2. В случае асинхронных запросов:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
'3. Сюда попадаем, если соединение установлено. Значит, можно выполнять stored proc:
   Set cmd.ActiveConnection = cnn
   With cmd
        .CommandType = adCmdStoredProc
        .CommandText = FP.sp_Name                          '"sp_S_ORG_SelWithMask"
        .Parameters.Refresh
        DoEvents
    End With
    cmd( 1 ).Value = s             'задаём параметры sp
    cmd(1).Size = Len(s)         'Команда подготовлена.
    
'4. К этому моменту должна быть запрограммированы обработчики событий
'   Connection.ExecuteComplete - для получения состояния завершения команды
'   (здесь - хранимой процедуры). Sic! Запускается команда,
'   а состояние её выполнения получаем из ConnectionObj!!!
'   Если выборка - пустая, рекордсет устанавливается в adState.Closed;
'   иначе из рекордсета м.б. передано не более CacheSize записей.
'   По умолчанию CacheSize устанавливается равным 1. Здесь же
'   размер буфера устанавливаем равным pRecordset.RecordCount.
'   Recordset.FetchComplete - для обнаружения события "все данные помещены в буфер"
'6. Запускаем команду "выполнить sp" и направляем выбранние ею записи в rsOrg:
    Set rsOrg = cmd.Execute(, , adCmdStoredProc + adAsyncFetch + adAsyncFetchNonBlocking + adAsyncExecute)
Код: 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.
31.
Private Sub cnE_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
'The ExecuteComplete event is called after a command has finished executing.
On Error GoTo ErrHandler
DoEvents
If Not (pError Is Nothing) Then
    If pError.Number <> 0 Then
        Dim s As String
        s = pError.Number & Comma & pError.Description & Comma & pError.Source & vbCrLf '
        Dim sErr As Error
        For Each sErr In pConnection.Errors
            s = s & sErr.Number & Comma & sErr.Source & Comma & sErr.Description & vbCrLf
        Next sErr
        Err.Clear
        rsOrgRows =  0 : rsMaxRows =  0 
        MsgBox s, vbCritical + vbOKOnly, "Класс " & Me.Name
    End If
Else
    With pRecordset
        If .State = ObjectStateEnum.adStateClosed Then
                rsOrgOK = True
                rsOrgRows =  0 : rsMaxRows =  0 
                RaiseEvent RsDone(rsOrgRows, FP.OldGoal)
        Else
                .CacheSize = .RecordCount
                rsMaxRows = .RecordCount
        End If
    End With
End If
Exit Sub
ErrHandler:
'.......
End Sub
...
Рейтинг: 0 / 0
11.06.2004, 09:32
    #32557445
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
спасибо
поразбираюсь как освобожусь
...
Рейтинг: 0 / 0
20.06.2004, 15:00
    #32568685
Lassie
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка recordset
Чета стоко строк....
присвоил recordsetу значения и тупо спашиваешь if name .EOF then .....
Всега работало....
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка recordset / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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