|
Ошибка при подключении к SQL
| ☑ |
0
gash85
25.03.13
✎
13:21
|
Св = Новый COMОбъект("ADODB.Connection");
Св.CursorLocation = 3;
Св.ConnectionTimeout=15;
СтрокаСвязи = "Provider=SQLOLEDB.1;Password=pas;Persist Security Info=True;User ID=user;Initial Catalog=basecard;Data Source=cards;Connect timeout=10";
Попытка
Св.Open(СтрокаСвязи);
Исключение
Св = "";
Предупреждение("Ошибка подключения к SQL Server.");
КонецПопытки;
CommEdit = Новый COMОбъект("ADODB.Command");
CommEdit.ActiveConnection = Св;
CommEdit.CommandText = "cards_activate";
CommEdit.CommandType = 4;
НомерКарты = Прав(СокрЛП(Стр.НомерКарты), СтрДлина(СокрЛП(Стр.НомерКарты))-9);
нКом = Новый COMОбъект("ADODB.Recordset");
Попытка
нКом.Open("Execute cards.dbo.cards_activate @card='"+НомерКарты+"'", Св);
Исключение
Сообщить("Произошла ошибка передачи данных!", СтатусСообщения.ОченьВажное);
Сообщить(ОписаниеОшибки());
КонецПопытки;
Пока нКом.EOF() = 0 Цикл
рез = нКом.Fields.item(0).Value;
нКом.MoveNext();
КонецЦикла;
{Обработка.АктивацияКартЕ100.Форма.Форма.Форма(69)}: Ошибка при вызове метода контекста (EOF)
Пока нКом.EOF() = 0 Цикл
по причине:
Произошла исключительная ситуация (ADODB.Recordset): Операция не допускается, если объект закрыт.
Подскажите, плз, что неверно?
|
|
1
rs_trade
25.03.13
✎
13:22
|
(0)
|
|
2
rs_trade
25.03.13
✎
13:23
|
(0) В правом верхнем углу нажимай буковку Я
|
|
3
МихаилМ
25.03.13
✎
13:26
|
CursorLocation зачем = 3 ?
|
|
4
gash85
25.03.13
✎
13:36
|
(1) ой да не может такого быть!!!
(3) и с 2 и с 3 одинаково отрабатывает с ошибкой
|
|
5
gash85
25.03.13
✎
13:56
|
Вопрос снят, косяк был в ответе sql-ной базы.
ЗЫ: приведенный выше код - правильный и рабочий.
|
|
6
rs_trade
25.03.13
✎
14:25
|
(4) не знал да, что так можно.
|
|