|
Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers):
| ☑ |
0
Caesar
16.06.16
✎
13:52
|
Вот такой код:
ТабРез.Open("select * from mytable where CashNumber = 123"),cnn,0,4);
Если табРез.EOF() = 0 Тогда
табРез.MoveFirst();
Пока табРез.EOF() = 0 Цикл
табрез.fields("myfield").value = 2;
табРез.update();
табрез.movenext();
КОнецЦикла;
КонецЕсли;
табРез.updatebatch();
при выполнении на строке табрез.movenext() выдает сообщение об ошибке:
Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): Все дескрипторы строк должны быть освобождены для получения новых дескрипторов.
Вопрос: каким образом в SQL-таблице изменить данные?
Заранее спасибо.
|
|
1
leonidkorolev
16.06.16
✎
13:56
|
Запросом апдейт
|
|
2
Зая Бусечка
16.06.16
✎
13:57
|
Ведущие специалисты мира по ADO (шаркаю ножкой) совершенно не советуют использовать методы рекордсета.
Запрос - он подобен пуле. Дура, но делает своё дело.
|
|
3
Ёпрст
16.06.16
✎
13:59
|
(0)
update mytable
set myfield = 2
where CashNumber = 123
|
|
4
Jokero
16.06.16
✎
14:02
|
Думается все проще, нет там movenext'a, а табРез.EOF() = 0 не срабатывает.
|
|
5
Зая Бусечка
16.06.16
✎
14:04
|
(4) А куда в ADO делся movenext?
|
|
6
Caesar
16.06.16
✎
14:09
|
(1) спасибо
(3) так и сделал
закрыли тему.
|
|