![]() |
|
Операция не допускается, если объект закрыт. | ☑ | ||
---|---|---|---|---|
0
Droning1C
17.03.20
✎
17:00
|
Соединение = Новый COMОбъект("ADODB.Connection");
Команда = Новый COMОбъект("ADODB.Command"); RecordSet = Новый COMОбъект("ADODB.RecordSet"); Соединение.ConnectionString = "Provider=SQLOLEDB; Data Source = "+серверSQL+";Initial Catalog="+базаSQL+";UID="+пользовательSQL+"; PWD="+парольSQL+";"; Соединение.ConnectionTimeOut = 15; Соединение.CommandTimeOut = 30; Попытка Соединение.Open(); АутентификацияПрошла = Истина; Исключение Сообщить("Ошибка при подключении к базе данных 3TEC."+Символы.ПС+ОписаниеОшибки()); Возврат Неопределено; КонецПопытки; Команда.ActiveConnection = Соединение; Команда.CommandType = 4; Команда.CommandText = "dbo.ui_WH_AddCell"; ПараметрСклад = Команда.CreateParameter("@WH_Code",200,1,10,); ПараметрТипЯчейки = Команда.CreateParameter("@RowType",200,1,1,); ПараметрРяд = Команда.CreateParameter("@RowNumber",3,,,); ПараметрУровень = Команда.CreateParameter("@Level",3,,,); ПараметрЯчейка = Команда.CreateParameter("@CellNumber",3,,,); Команда.parameters.append(ПараметрСклад); Команда.parameters.append(ПараметрТипЯчейки); Команда.parameters.append(ПараметрРяд); Команда.parameters.append(ПараметрУровень); Команда.parameters.append(ПараметрЯчейка); Команда.Parameters(0).value = "SGP_RD"; Команда.Parameters(1).value = ТипЯчейкиИзм; Команда.Parameters(2).value = РядИзм; Команда.Parameters(3).value = УровеньИзм; Команда.Parameters(4).value = ЯчейкаИзм; Попытка RecordSet = Команда.Execute(); //Recordset.Open(); Исключение Соединение.Close(); Сообщить("Ошибка при получении информации в базе данных 3TEC1."+Символы.ПС+ОписаниеОшибки()); КонецПопытки; Добрый день! Хранимая процедура sql добавляет строку в таблицу бд по переданным в нее параметрам. При вычислении выражения RecordSet выдается ошибка - Произошла исключительная ситуация (ADODB.Recordset): Операция не допускается, если объект закрыт. Что я делаю не так и какие еще данные нужно предоставить для помощи в решении проблемы, если предоставленных не хватает? |
|||
1
mikecool
17.03.20
✎
17:02
|
рекорд сет видимо открыть надо
|
|||
2
mikecool
17.03.20
✎
17:02
|
или прочитать с отборами
|
|||
3
Droning1C
17.03.20
✎
17:06
|
(1) у меня в попытке написано //Recordset.Open(); Пытался, но результат был таким же. Поэтому закомментил. Или я неправильно пишу?
|
|||
4
Droning1C
17.03.20
✎
17:07
|
(2) а можно подробнее?
|
|||
5
Droning1C
17.03.20
✎
17:14
|
Первый раз этим занимаюсь, сорри, если совсем глупый вопрос.
|
|||
6
Droning1C
17.03.20
✎
17:33
|
ПараметрСклад = Команда.CreateParameter("@WH_Code",200,1,10,); Предположил, что параметры нужно называть без собаки, но результат все тот же. На стороне sql процедура точно рабочая.
|
|||
7
Droning1C
17.03.20
✎
17:36
|
Если написать так
RecordSet.Open(); RecordSet = Команда.Execute(); То выдается другая ошибка - Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Recordset): Невозможно использование подключения для выполнения операции. Оно закрыто или не допускается в данном контексте. |
|||
8
mikecool
17.03.20
✎
17:37
|
(4) нет у меня подробностей, я так никогда не делал
а почему не воспользоваться внешним источником данных? |
|||
9
Droning1C
17.03.20
✎
17:43
|
(8) Честно говоря, не знаю. Возможно на то есть причины. Все разошлись, спросить не у кого)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |