Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Толь лыжи не едут, толь я ... / 14 сообщений из 14, страница 1 из 1
18.06.2007, 16:20
    #34602441
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
Подскажите пожалуйста
ADODB.Recordset
если я открываю рекордсет так:
rs1.Open sqlstr1_GE, cn, adOpenDynamic , adLockOptimistic
то, rs1.recordCount=-1
а если так:
rs1.Open sqlstr1_GE, cn, adOpenStatic , adLockOptimistic
то, rs1.recordCount=2, как и должно быть, но мне этот adOpenStatic нах ненужен, как победить это?
...
Рейтинг: 0 / 0
18.06.2007, 16:24
    #34602451
Программист Дёня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
timtimПодскажите пожалуйста
ADODB.Recordset
если я открываю рекордсет так:
rs1.Open sqlstr1_GE, cn, adOpenDynamic , adLockOptimistic
то, rs1.recordCount=-1
а если так:
rs1.Open sqlstr1_GE, cn, adOpenStatic , adLockOptimistic
то, rs1.recordCount=2, как и должно быть, но мне этот adOpenStatic нах ненужен, как победить это?

А adOpenKeyset чем тогда плох? Если вопрос в том, чтобы открыть рекорсет и знать его число записей, то это возможно, лишь если открывать его с такими параметрами замка adOpenStatic или adOpenKeyset. Иначе никак. При других параметрах замка возвращается лишь -1
...
Рейтинг: 0 / 0
18.06.2007, 16:29
    #34602469
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
а почему у меня не работает rs1.MoveNext?
...
Рейтинг: 0 / 0
18.06.2007, 16:31
    #34602484
Программист Дёня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
timtimа почему у меня не работает rs1.MoveNext?

ну не знаю, хотя ты наверное доходишь до пустой спецзаписи и дальше ход закрыт, только назад можно, так
...
Рейтинг: 0 / 0
18.06.2007, 16:51
    #34602557
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
разобрался, это я накодил неправильно
...
Рейтинг: 0 / 0
18.06.2007, 17:01
    #34602586
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
При открытии рекордсета с серверным курсором(adOpenDynamic), счетчик записей будет доступен долько если прокрутить весь рекордсет до конца.

Чтобы избежать ошибок при прокрутке рекордсета, рекомендуется проверять свойства EOF и BOF. Если оба свойства содержат TRUE значит рекордсет пуст.


Magnus
...
Рейтинг: 0 / 0
18.06.2007, 17:13
    #34602623
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
благодарю за советы
...
Рейтинг: 0 / 0
19.06.2007, 08:27
    #34603513
Программист Дёня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
Magnus23
OBORZEL TY TOVARIW UJE SOVSEM

Модератор: Предупреждений было уже более чем достаточно. Пожизненный эцих с гвоздями.
...
Рейтинг: 0 / 0
19.06.2007, 09:17
    #34603584
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
Программист Дёнячтобы открыть рекорсет и знать его число записей, то это возможно, лишь если открывать его с такими параметрами замка adOpenStatic или adOpenKeyset. Иначе никак. При других параметрах замка возвращается лишь -1
а если перед открытием поставить CursorLocation = adUseClient
Код: plaintext
1.
rs1.CursorLocation = adUseClient
rs1.Open sqlstr1_GE, cn, adOpenDynamic, adLockOptimistic
...
Рейтинг: 0 / 0
19.06.2007, 09:21
    #34603589
Программист Дёня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
vkodor Программист Дёнячтобы открыть рекорсет и знать его число записей, то это возможно, лишь если открывать его с такими параметрами замка adOpenStatic или adOpenKeyset. Иначе никак. При других параметрах замка возвращается лишь -1
а если перед открытием поставить CursorLocation = adUseClient
Код: plaintext
1.
rs1.CursorLocation = adUseClient
rs1.Open sqlstr1_GE, cn, adOpenDynamic, adLockOptimistic



Та же репка, число строк только при открытии курсора типов adOpenStatis или adOpenKeyset. Иначе возвращается -1 и ходить по рекордсету придётся с помощью методов Move... и проверкой на True свойств EOF BOF
...
Рейтинг: 0 / 0
19.06.2007, 09:37
    #34603621
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
Программист Дёня
Та же репка, число строк только при открытии курсора типов adOpenStatis или adOpenKeyset. Иначе возвращается -1 и ходить по рекордсету придётся с помощью методов Move... и проверкой на True свойств EOF BOF
Забавно в VBA при подключении к SQL и ACCESS работает, показывает полное количество строк и movenext прекрасно отрабатывает. Чтоб не быть голословным вот мой код.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Public cnnEP As ADODB.Connection
Public rstEP As ADODB.Recordset
Private Sub addCreateLink()
    Dim strCnnString$
    'подключение к базе
    strCnnString = "Provider=sqloledb;Data Source=...;Initial Catalog=...;User Id=...;Password=...;"
    Set cnnEP = New ADODB.Connection
    cnnEP.Open strCnnString
End Sub
Private Sub UserForm_Initialize()
    Application.Run "addCreateLink"
    stSQL = "SELECT DISTINCT Supplier FROM Supplier6 ORDER BY Supplier"
    Set rstEP = New ADODB.Recordset
    rstEP.CursorLocation = adUseClient
    rstEP.Open stSQL, cnnEP, adOpenStatic, adLockReadOnly
    If rstEP.RecordCount >  0  Then
        Do While Not rstEP.EOF
            Me.ListBox1.AddItem rstEP.Fields("Supplier")
            rstEP.MoveNext
        Loop
    End If
    rstEP.Close
    Set rstEP = Nothing
End Sub
...
Рейтинг: 0 / 0
19.06.2007, 09:45
    #34603636
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
vkodor
Код: plaintext
rstEP.Open stSQL, cnnEP, adOpenStatic, adLockReadOnly

читать так
Код: plaintext
rstEP.Open stSQL, cnnEP, adOpenDynamic, adLockOptimistic
Пардон, эксперементировал и забыл вернуть назад.
...
Рейтинг: 0 / 0
20.06.2007, 08:41
    #34606580
Диса
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
Программист Дёня Magnus23
Модератору


По поводу блокировки по IP, это наглёж!!!! Я ведь из кафешки общаюсь, а тут и другие есть, кто тоже на той же машине выходит на SQL.

Вообще, такой вопрос, вы только меня считает тут невежой и грубияном или как? Вы хоть одно предупреждение выписали тем, с кем я собственно цапался. Они ведь тоже хороши!!!! Но им почему-то ничего, а меня вы уже за.....и....баннили порядком. Это совершенно не есть хорошо!!!!

Давайте как по справедливости!!!!!!!!! Или всех или никого

Модератор: Действия модераторов не обсуждаются в форуме. В любом случае, практически всегда именно ты являлся инициатором ругани. Этот аккаунт тоже забанен. Если айпи принадлежит инеткафе, не доводи до греха... Надеюсь следующая инкарнация наконец будет вести себя адекватно.
...
Рейтинг: 0 / 0
20.06.2007, 09:44
    #34606699
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толь лыжи не едут, толь я ...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Толь лыжи не едут, толь я ... / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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