powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите вызвать хранимую процедуру через ADO
10 сообщений из 10, страница 1 из 1
Помогите вызвать хранимую процедуру через ADO
    #32177999
Незнающий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация такая: есть отчет в Excel. Есть хранимая процедура на сервере. Как ее вызвать и получить выборку. Вроде бы надо делать это через ADO?
Подключится, вызвать процедуру с параметрами, создать Recordset и выкинуть
данные Excel. Только я этого не разу не делал. Помогите с кодом. Как это написать? Спасибо.
...
Рейтинг: 0 / 0
Помогите вызвать хранимую процедуру через ADO
    #32178110
Фотография DIKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rs.open "EXEC NAMESTOREPROCE"
...
Рейтинг: 0 / 0
Помогите вызвать хранимую процедуру через ADO
    #32178251
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у Екцеля есть метод CopyFromRecodset - для сброса всего рекордсета

З.Ы.
А параметры у процедуры есть?
...
Рейтинг: 0 / 0
Помогите вызвать хранимую процедуру через ADO
    #32178345
Незнающий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, параметры есть
...
Рейтинг: 0 / 0
Помогите вызвать хранимую процедуру через ADO
    #32178494
Sirios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так делаю если параметры ХП только входные:

ADOcommand.CommandType = adCmdText
ADOcommand.CommandText = "exec <Имя хранимой проц> [.., .., ..]"
Set ADOrecordset = ADOcommand.Execute()
=======================================
или если есть выходные параметры, то только так:

ADOstream.Type = adTypeBinary ' я тут использую поток,
ADOstream.Mode = adModeReadWrite ' так что тоже тебе может пригодится
ADOstream.Open ' для передачи тела файлов в ХП
ADOstream.LoadFromFile (path) ' (картинки, mp3, чё угодно)
' -= а это по твоему вопросу =-
ADOcommand.CommandType = adCmdStoredProc
ADOcommand.CommandText = "load_image_question"
Set ADOparameter = ADOcommand.CreateParameter("@id", adInteger,
adParamInput, 4, Ma_ID)
ADOcommand.Parameters.Append ADOparameter

Set ADOparameter = ADOcommand.CreateParameter("@df", adInteger,
adParamInput, 4, Df_ID)
ADOcommand.Parameters.Append ADOparameter

Set ADOparameter = ADOcommand.CreateParameter("@flag", adBoolean,
adParamInput, 1, False)
ADOcommand.Parameters.Append ADOparameter
'=========================
'я так передается поток:
'=========================
ADOstream.Position = 0
Set ADOparameter = ADOcommand.CreateParameter("@datai", adBinary,
adParamInput, ADOstream.Size, ADOstream.Read)
ADOcommand.Parameters.Append ADOparameter

Set ADOrecordset = ADOcommand.Execute()
ADOstream.Close

P.S. Не забудь чистить параметры в команде после
использования процедуры :-)
...
Рейтинг: 0 / 0
Помогите вызвать хранимую процедуру через ADO
    #32178836
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что так сложно вызываешь, через поток?
...
Рейтинг: 0 / 0
Помогите вызвать хранимую процедуру через ADO
    #32178893
Sirios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Ulis : Ты хоть понял, что спросил?
Я её и не вызываю через поток, а в процедуру передаю содержимое потока в качестве одного из параметров... :-) так вот..
...
Рейтинг: 0 / 0
Помогите вызвать хранимую процедуру через ADO
    #32179027
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой, какие умные собеседники есть, прям завидно.

Я вызываю процедуру, например, так:

Set rst = cnn.Execute("ИмяМоейПроцедуры('ПервыйПараметр','ВторойПараметр',ТретийПараметр)", adCmdStoredProc)

cnn - текущее соединение с базой
...
Рейтинг: 0 / 0
Помогите вызвать хранимую процедуру через ADO
    #32179537
Sirios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Ulis

Уважаемый, Ulis, мы наверное говорим о разных вещах. Ваш пример хорош, у меня другая сиитуация: нуна перебрасывать по 10 метров данных в базу - без потока - не обойтись... А в твоем варианте содержимое потока переслать - КАК? :-)
...
Рейтинг: 0 / 0
Помогите вызвать хранимую процедуру через ADO
    #32179971
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я просто ответил на вопрос, который был задан в самом начале ... все зависит от конкретной ситуации
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите вызвать хранимую процедуру через ADO
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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