|
Вопрос по ADODB.RecordSet | ☑ | ||
---|---|---|---|---|
0
AnisaL
18.07.13
✎
10:16
|
Добрый день!
Есть запрос к Биллингу, до этого момента работал. Сейчас в Биллинг доступ закрыт, так как сисадмин с ним что-то делает, стала выдаваться ошибка {МодульОбычногоПриложения(2139)}: Ошибка при вызове метода контекста (Close) по причине: Произошла исключительная ситуация (ADODB.Recordset): Операция не допускается, если объект закрыт. Вот текст процедуры с запросом. Command = Новый COMОбъект("ADODB.Command"); Command.ActiveConnection = Connection; Command.CommandText = ТекстЗапроса; Command.CommandType = 1; RecordSet = Новый COMОбъект("ADODB.RecordSet"); Попытка // #Если Клиент Тогда Состояние ("Выполняем запрос..."); // #КонецЕсли RecordSet = Command.Execute(); Исключение // #Если Клиент Тогда Сообщить("Запрос не выполнен! "+ОписаниеОшибки()); // #КонецЕсли RecordSet.Close(); Возврат Неопределено; КонецПопытки; Какое условие поставить на RecordSet, чтобы не происходила эта ошибка и не закрывалась 1с-ка? |
|||
1
Wobland
18.07.13
✎
10:21
|
ну дык по исключению вылетай, а не пытайся закрыть неоткрытое
|
|||
2
AnisaL
18.07.13
✎
10:21
|
ошибка происходит когда попадаешь в Исключение на строке
RecordSet.Close(); |
|||
3
Wobland
18.07.13
✎
10:21
|
(1) сторно
|
|||
4
Jaap Vduul
18.07.13
✎
10:23
|
||||
5
НЕА123
18.07.13
✎
10:26
|
(0)
Command, RecordSet что-то не стыкуется. |
|||
6
George Wheels
18.07.13
✎
10:28
|
RecordSet = Command.Execute(); - что это?
|
|||
7
AnisaL
18.07.13
✎
10:29
|
(1) т.е. этй строку вообще убрать RecordSet.Close();?
|
|||
8
AnisaL
18.07.13
✎
10:30
|
(5) что именно? все очень даже стыкуется
|
|||
9
George Wheels
18.07.13
✎
10:31
|
В RecordSet получается результат работы Command.Execute(), а не COMОбъект("ADODB.RecordSet").
|
|||
10
AnisaL
18.07.13
✎
10:34
|
(6) Это SQL запрос. В RecordSet выгружается результат выполнения запроса
|
|||
11
George Wheels
18.07.13
✎
10:35
|
(10) см (9)
|
|||
12
AnisaL
18.07.13
✎
10:35
|
+(10) Само подключение к SQL
Connection = Новый COMОбъект("ADODB.Connection"); //ConnectString = "driver={MySQL ODBC 5.1 Driver};server="+server+";uid="+user+";pwd="+passwd+";database="+database; ConnectString = "Driver={MySQL ODBC 5.2a Driver};Server=10.254.0.1;uid=1c;pwd=1c1c1c;"; //"Provider=MSDASQL.1;Extended Properties="DRIVER={MySQL ODBC 5.1 Driver};UID=root;PWD=123456qwerty;server=Server02;database=mt_exchange;"" Попытка Состояние ("Подключаемся к MySQL..."); Connection.open(ConnectString); Исключение Сообщить("Не подключились! "+ОписаниеОшибки()); Возврат 0; КонецПопытки; |
|||
13
AnisaL
18.07.13
✎
10:40
|
(11) а вы вообще программировать умеете?
|
|||
14
George Wheels
18.07.13
✎
10:52
|
(13)
Для чего - RecordSet = Новый COMОбъект("ADODB.RecordSet"); Если потом - RecordSet = Command.Execute(); |
|||
15
AnisaL
18.07.13
✎
10:55
|
(14) почитай (4) может тебе поможет
|
|||
16
Wobland
18.07.13
✎
10:57
|
(15) правильно человек говорит. другое дело, что в этом частном случае как-то пофих..
|
|||
17
НЕА123
18.07.13
✎
10:59
|
RecordSet = Новый COMОбъект("ADODB.RecordSet");
RecordSet.Open(ТекстЗапроса, Connection); для чего нужен Command? |
|||
18
George Wheels
18.07.13
✎
11:08
|
(15) Returns a Recordset object reference, a stream, or Nothing.
Неважно как проинициализируешь переменную RecordSet. В итоге получишь Recordset object reference, a stream, or Nothing. |
|||
19
George Wheels
18.07.13
✎
11:10
|
(18) + Проверь уже наконец в отладчике, что у тебя в RecordSet.
|
|||
20
wPa
18.07.13
✎
11:24
|
(0) объект уже уничтожен, - закрыть не сработает.
Замени Close() на RecordSet = NULL; |
|||
21
shuhard
18.07.13
✎
11:56
|
(17) не нужен, это ТС кодировать ни фига не умеет
|
|||
22
wPa
18.07.13
✎
12:05
|
(20) + точнее замени
RecordSet.Close(); на RecordSet = NULL; эффект тот же но ошибки не будет |
|||
23
НЕА123
18.07.13
✎
12:18
|
(21)
понятно... и глубокий смысл поста (13) тоже понял. |
|||
24
MiniMuk
18.07.13
✎
12:37
|
(9) Если результат Command.Execute("Select *from figniya");
|
|||
25
AnisaL
18.07.13
✎
12:49
|
(20) Спасибо! Надо попробовать)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |