powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADODB.RECORDSET NextRecordset
25 сообщений из 25, страница 1 из 1
ADODB.RECORDSET NextRecordset
    #36904350
valdemar_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попытлся использовать NextRecordset

Код: plaintext
1.
2.
3.
Dim rs as ADODB.Recordset
Set rs = New ADODB.Recordset
sql = "select * from table; select * from table "
rs.Open sql, conn, adOpenStatic, adLockReadOnly

но встроке rs.Open sql, conn, adOpenStatic, adLockReadOnly возникает ошибка ODBC не поддерживает такие св-ва
если оставить в переменной sql одно предложение select все работает
версия ODBC 3.51
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904362
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valdemar_rusql = "select * from table; select * from table "Почему у вас запрос дублируется, может в этом дело?
table - это название таблицы или переменная с её названием?
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904367
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valdemar_ru,

а) СУБД?
б) Как именно используете NextRecorset?

(подробности, блин, где подробности)
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904373
valdemar_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Playervaldemar_rusql = "select * from table; select * from table "Почему у вас запрос дублируется, может в этом дело?
table - это название таблицы или переменная с её названием?

на MSDN запрос именно таким образом оформляется
http://msdn.microsoft.com/en-us/library/ms677569(VS.85).aspx
как я понимял Recordset должен взять первый Select после NextRecordset второй и.т.д.
а у меня даже и до этого дело не доходит
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904378
valdemar_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Mysql 5.0.67-community-nt

нашел пример по нему и делал

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Sub cmdLoad_Click()
      Dim rs As ADODB.Recordset
      Set rs = New ADODB.Recordset

      'Run multi select statment
    rs.Open "SELECT au_lname FROM authors; SELECT fname FROM  employee", "dsn=pubs", adOpenForwardOnly, adLockReadOnly

      Do While Not rs.EOF
            Me.lstAu.AddItem rs.Fields( 0 )
            rs.MoveNext
      Loop
      'Get Next rs
      Set rs = rs.NextRecordset

      Do While Not rs.EOF
            Me.lstEmp.AddItem rs.Fields( 0 )
            rs.MoveNext
      Loop

      Set rs = Nothing
End Sub
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904389
valdemar_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
valdemar_ru,
rs ADODB.Recordset объявлена как Public
Frm_connect.conn объявлена как Public
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim sql As String
Set rs = New ADODB.Recordset 
Dim a As Integer, i As Integer
sql = "select count(Поле1) as "Кол-во" from table; select Поле1 from table"
rs.Open sql, Frm_connect.conn, adOpenStatic, adLockReadOnly
i = rs.Fields("Кол-во")
Set rs = rs.NextRecordset
a =  1 
   For a =  1  To i
        Cmbx_LS.AddItem rs.Fields("Поле1")
        rs.MoveNext
   Next a
rs.Close: Set rs = Nothing

вот как пытаюсь использовать
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904404
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valdemar_ruна MSDN запрос именно таким образом оформляется
http://msdn.microsoft.com/en-us/library/ms677569(VS.85).aspx

только там используется oledb....
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904511
valdemar_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Подскажите какой драйвер лучше использовать ?
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904678
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valdemar_ruShocker.Pro,

Подскажите какой драйвер лучше использовать ?
я, честно говоря, лучше промолчу, ибо работал с MySQL давно и через MyODBC

Тут есть народ, работающий сейчас с MySQL (Адука, в частности), подождем их ответа.

Вообще, есть хороший сайтик
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904780
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС, зачем вам такой изврат?
а не проще ли два рекордсета для каждого селекта открыть?
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904818
valdemar_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim sql As String
Set rs = New ADODB.Recordset
Dim a As Integer, i As Integer

sql = "select count(Поле1) as "Кол-во" from table "
rs.Open sql, Frm_connect.conn, adOpenStatic, adLockReadOnly
i = rs.Fields("Кол-во")
rs.Close: Set rs = Nothing
Set rs = New ADODB.Recordset
sql = "select Поле1 from table"
rs.Open sql, Frm_connect.conn, adOpenStatic, adLockReadOnly
a =  1 
   For a =  1  To i
        Cmbx_LS.AddItem rs.Fields("Поле1")
        rs.MoveNext
   Next a
rs.Close: Set rs = Nothing
Вот так вы имеете ввиду ?
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904835
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, он имел виду
rs1.Open
rs2.Open
А у вас rs.Open, rs.Close, rs.Open
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904849
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valdemar_ruKonst_One,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim sql As String
Set rs = New ADODB.Recordset
Dim a As Integer, i As Integer

sql = "select count(Поле1) as "Кол-во" from table "
rs.Open sql, Frm_connect.conn, adOpenStatic, adLockReadOnly
i = rs.Fields("Кол-во")
rs.Close: Set rs = Nothing
Set rs = New ADODB.Recordset
sql = "select Поле1 from table"
rs.Open sql, Frm_connect.conn, adOpenStatic, adLockReadOnly
a =  1 
   For a =  1  To i
        Cmbx_LS.AddItem rs.Fields("Поле1")
        rs.MoveNext
   Next a
rs.Close: Set rs = Nothing
Вот так вы имеете ввиду ?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim sql As String
Dim rs as ADODB.Recordset

sql = "select [Поле1] from [table]"
Set rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Set Rs.ActiveConnection =  Frm_connect.conn
rs.Open sql,, adOpenStatic, adLockReadOnly
Do While Not rs.EOF
     Cmbx_LS.AddItem rs("Поле1").Value
     rs.MoveNext
Loop
Set rs = Nothing
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904905
valdemar_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

если не сложно объясните
пожалуйста эти две строчки
Код: plaintext
1.
Rs.CursorLocation = adUseClient
Set Rs.ActiveConnection =  Frm_connect.conn
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904921
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- открываем клиентский курсор (все данные сразу получаются на клиенте и мы знаем точное кол-во полученных записей)
- передаём контекс соединения (существующий объект ADODB.Connection) в рекордсет для работы
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36904927
valdemar_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,
спасибо
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36905713
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_OneТС, зачем вам такой изврат?
а не проще ли два рекордсета для каждого селекта открыть?

Вообще-то с NextRecordset зачастую удобней. К примеру, процедура может вернуть несколько Recordset-ов за раз. Так что тут нет изврата.
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36905722
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFKonst_OneТС, зачем вам такой изврат?
а не проще ли два рекордсета для каждого селекта открыть?

Вообще-то с NextRecordset зачастую удобней. К примеру, процедура может вернуть несколько Recordset-ов за раз. Так что тут нет изврата.

про ХП у ТС речи не идёт, а так ,конечно, есть случае , где реально необходимо. те же запросы с COMPUTE и тп
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36906572
valdemar_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так какой дравер лучше использовать ?
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36907080
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLE DB, конечно, для вашей базы данных
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36908388
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_OneOLE DB, конечно, для вашей базы данныхЭто очень смелый, и бессмысленный совет.
OLE DB это всего-лишь интерфейс и драйверов его предоставляющих может быть много (и при этом все они могут быть глючными).
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36909058
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlKonst_OneOLE DB, конечно, для вашей базы данныхЭто очень смелый, и бессмысленный совет.
OLE DB это всего-лишь интерфейс и драйверов его предоставляющих может быть много (и при этом все они могут быть глючными).

бывает и такое конечно, никто не спорит. но всё-таки лучше чем ODBC
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36910251
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_OneWhite OwlKonst_OneOLE DB, конечно, для вашей базы данныхЭто очень смелый, и бессмысленный совет.OLE DB это всего-лишь интерфейс и драйверов его предоставляющих может быть много (и при этом все они могут быть глючными).бывает и такое конечно, никто не спорит. но всё-таки лучше чем ODBCГлупости. Если начать сравнивать ODBC с OLE DB, то ODBC выиграет по всем статьям. Более кривой и неудобный интерфейс чем у OLE DB сочинить трудно. Но это вопрос далеко не для VB форума, потому что из VB ты с OLE DB даже работать напрямую не сможешь, только через враппер типа ADO.

А для valdemar_ru совет только один: спрашивать на форуме по MySQL какой из доступных ныне драйверов самый лучший. И не заморачиваться на тему ODBC vs OLE DB. Вот когда он начнет собственные драйвера или врапперы писать, тогда и будет об интерфейсах думать. А пока он сидит на VB с ADO - любой драйвер пойдет, лишь бы работал.
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36910259
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да с MySQL всё печально, есть только нормальные платные OLE DB providers
...
Рейтинг: 0 / 0
ADODB.RECORDSET NextRecordset
    #36910943
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneда с MySQL всё печально, есть только нормальные платные OLE DB providers
"Длительность минуты зависит от того, по какую сторону двери туалета вы находитесь" (с) не мой
Если вы админ своей базы, плюс вы имеете до неё скоростной канал (либо этот хостинг - у вас локально) - любой селект отработает на-раз, и быстро.
Если вы просто "знаете", как запросить - любой селект отработает со скоростью вашего входящего канала.
Если вы делаете нормальную систему - то не на Офисе...
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADODB.RECORDSET NextRecordset
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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