powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как вытащить таблицу в VBS
4 сообщений из 4, страница 1 из 1
Как вытащить таблицу в VBS
    #34492412
executer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне необходимо вытащить таблицу возвращаемую хранимой процедурой в Recordset в VBS. Ничего не получается 8-(
Вот скрипт:

Set objConnection=CreateObject("ADODB.Connection")
objConnection.ConnectionString="Provider=SQLOLEDB.1;Password=abcd;Persist Security
Info=True;UserID=abcd;Initial Catalog=ZS;Data Source=MS_SQL\test"
objConnection.Open

Set objRecordset = CreateObject("ADODB.Recordset")
objRecordset.ActiveConnection=objConnection

Set objCommand = CreateObject("ADODB.Command")
objCommand.CommandType = 4 ' 4=хранимая процедура
objCommand.ActiveConnection = objConnection
objCommand.CommandText = "test_zs;1" ' процедура - должна
' возвращать 10 значений

MsgBox (objRecordset.state)
MsgBox (objRecordset.Source)

objCommand.execute
objRecordset.open objCommand

MsgBox (objRecordset.Source) 'возвращает { ? = call test_zs;1 }
MsgBox (objRecordset.state) ' возвращает 1 - т.е. соединение
' открыто но процедура не выполнена
MsgBox (objRecordset.status) ' возвращает 0 - т.е. нет ошибок
MsgBox (objRecordset.RecordCount) ' возвращает -1 ???? А ДОЛЖНО 10!



при этом SQL Profiler отображает выполнение процедуры, но число записей/чтений = 0!!!
...
Рейтинг: 0 / 0
Как вытащить таблицу в VBS
    #34492465
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых давайте определимся - "процедура - должна возвращать 10 значений" или рекордсет должен содержать 10 записей?
Во-вторых, что за мутная запись - "test_zs;1"? Что за ";"? 1 - параметр?
В-третьих RecordCount всегда будет 0, если открывать соединение с серверным курсором.
...
Рейтинг: 0 / 0
Как вытащить таблицу в VBS
    #34493092
executer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот процедура(тестовая):

create procedure test_zs as select top 10 * from monitoring
GO

мутная запись - я написал так как было в примере. Пробовал и без 1 :
objCommand.CommandText = "test_zs"

- точно также работает.. вернее не работает.

Рекордсет должен, по идее, содержать 10 записей...

Мне эти записи в явном виде не нужны - мне их нужно передать в таблицу для отображения.
...
Рейтинг: 0 / 0
Как вытащить таблицу в VBS
    #34493139
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Set objConnection=CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
objConnection.ConnectionString="Provider=SQLOLEDB.1;Password=abcd;Persist Security 
Info=True;UserID=abcd;Initial Catalog=ZS;Data Source=MS_SQL\test"
objConnection.CursorLocation =  3 
objConnection.Open
objRecordset.open "test_zs", objConnection,  3 ,  4 
MsgBox (objRecordset.RecordCount)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как вытащить таблицу в VBS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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