|
передача параметров в хранимую процедуру | ☑ | ||
---|---|---|---|---|
0
Irken_1
30.03.12
✎
17:40
|
Помогите пожалуйста. Не получается передать адекватно параметры в хранимую процедуру.
нужно передать строку, пишу так: ParamOrg = Command.CreateParameter("@OrganizationID", 129, 1, 36, "73167096-974F-495E-9CED-6885E07408AB"); Command.Parameters.Append(ParamOrg); RecordSet = Новый COMОбъект("ADODB.RecordSet"); //RecordSet.Open(Command, ADOConnection); RecordSet = Command.Execute(); //RecordSet.Open(); RecordSet.MoveFirst(); на последнем операторе выдает ошибку: {Обработка.ПередачаИзмененийBTS.Форма.Форма.Форма(104)}: Ошибка при вызове метода контекста (MoveFirst) RecordSet.MoveFirst(); по причине: Произошла исключительная ситуация (ADODB.Recordset): Операция не допускается, если объект закрыт. |
|||
1
Господин ПЖ
30.03.12
✎
17:43
|
логично... рекодсета еще нет а уже по записям ходишь
|
|||
2
Господин ПЖ
30.03.12
✎
17:44
|
RecordSet = Новый COMОбъект("ADODB.RecordSet");
RecordSet = Command.Execute(); RecordSet.MoveFirst(); это тоже неплохо... тоде рекодсет у нас непойми от чего, то ли результат процедуры... |
|||
3
Irken_1
30.03.12
✎
17:48
|
проблема не в рекордсете, а в параметре процедуры, так как тот же модуль но вызывая процедуру без параметров выдает в рекордсет все что надо.
:-( |
|||
4
ukolabrother
30.03.12
✎
18:23
|
полный код покажи
|
|||
5
ukolabrother
30.03.12
✎
18:24
|
хранимка в скуль вызывается так exec имя_процедуры парам1 парам2...
что мешает передать в парам1 и парам2 то что тебе надо? |
|||
6
Irken_1
30.03.12
✎
18:28
|
ADOConnection = Новый COMОбъект( "ADODB.Connection" );
ConnectionString = "Provider=SQLOLEDB;User ID=qwe;Password=asd;Data Source=HWSSQL3\SQL2008;Initial Catalog=qweasd"; ADOConnection.ConnectionString = ConnectionString; Попытка ADOConnection.Open(); Исключение Сообщить( "Неудачная попытка подключения к серверу" ); Сообщить(ОписаниеОшибки()); КонецПопытки; // Command = Новый COMObject("ADODB.Command"); Command.ActiveConnection = ADOConnection; Command.CommandText = "PR_Print_SummaryStatement"; Command.CommandType = 8; ParamOrg = Command.CreateParameter("OrganizationID", 72, 1, 16, "73167096-974f-495e-9Ced-6885e07408ab"); Command.Parameters.Append(ParamOrg); Param3 = Command.CreateParameter("@DateStart", 129, 1, 10, формат(Дата(2012,03,01),"ДФ=yyyy-MM-dd")); Command.Parameters.Append(Param3); Param2 = Command.CreateParameter("@DateEnd", 129, 1, 10, Формат(Дата(2012,03,20),"ДФ=yyyy-MM-dd")); Command.Parameters.Append(Param2); RecordSet = Command.Execute(); RecordSet.MoveFirst(); |
|||
7
Irken_1
30.03.12
✎
18:29
|
(5) можно пример?
|
|||
8
ukolabrother
30.03.12
✎
18:31
|
ТекстЗапроса = "exec avOD_РозничныеПродажи '" + ДатаНачалаSQL + "' , '" + ДатаКонцаSQL + "' , '" + Предприятие +"'";
Запрос.CommandText = ТекстЗапроса; Rs = Запрос.Execute(); |
|||
9
ukolabrother
30.03.12
✎
18:32
|
возвращаются рекордсеты хранимки
|
|||
10
Irken_1
30.03.12
✎
18:38
|
запрос - что?
запрос = Новый COMObject("ADODB.Command") или recordset? |
|||
11
ukolabrother
30.03.12
✎
18:40
|
command, rs - recordset
|
|||
12
ukolabrother
30.03.12
✎
18:44
|
а я пошел домой
|
|||
13
Irken_1
30.03.12
✎
18:51
|
Спасибо большое большое! заработало! :-)))))) моей благодарности нет границ!
с пятницей! :-) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |