Текущий архив: 2011.01.09;
Скачать: CL | DM;
Вниз
Обновляемый запрос в старой программе. Найти похожие ветки
← →
DimonS (2010-10-18 05:26) [0]Доброго времени суток всем.
В общем, ситуация банальная: непонятно с какого перепугу в программе начала выскакивать ошибка "В операции должен быть использован обновляемый запрос". Программка простая как три байта, написана еще лет шесть назад и до последнего времени работала без нареканий. Простая БД на Access со списком техники и норм расхода ГСМ. Ошибка появляется при изменении записи.ADOCommand1.CommandText:="update Tehnica set Norma_Ch=:N where id=:id";
ADOCommand1.Execute;
Элементарный запрос, работавший больше пяти лет исправно. База не перемещалась и не изменялась. Причем ошибка выскакивает даже если база локально на диске лежит. Программка написана еще на Д6.
Поиском в инете пользоваться умею, но толкового ничего не нашел, даже на офсайте:
1. Перекрестный запрос (исключено).
2. Не полный доступ к базе (исключено).
3. Установить BDE (установлен изначально).
4. Установить новые версии драйверов (не ставятся, пишет, что установлены последние).
5. Конфликт с самой виндой/версией обновлений.
Склоняюсь к последнему варианту, похоже, что после переустановки винды все и произошло. Но что делать - ума не приложу. Винда лицензионная, менять ее никто не разрешит. Хотя что-то подредактировать в ней не возбраняется, но что именно?
← →
MonoLife © (2010-10-18 06:15) [1]А где инициализация параметров N, ID?
← →
MonoLife © (2010-10-18 06:15) [2]А где инициализация параметров N, ID?
← →
DimonS (2010-10-18 07:09) [3]
> MonoLife © (18.10.10 06:15) [2]
Ясно, что они инициализируются, просто не написал сюда.
id - поле-счетчик, ключевое, N - числовое.
← →
MonoLife © (2010-10-18 07:43) [4]Какой провайдер используется?
Запускается "под админом"
Работает ли программа на другом компьютере?
← →
sniknik © (2010-10-18 08:05) [5]> Поиском в инете пользоваться умею, но толкового ничего не нашел, даже на офсайте:
а если писать ошибку как она есть, без коверканий... - "В операции должен использоваться обновляемый запрос"
и еще в справке самого аксесса посмотри, там тоже есть...
> База не перемещалась и не изменялась.
но стала ридонли, например.
← →
DimonS (2010-10-18 08:06) [6]
> MonoLife © (18.10.10 07:43) [4]
Провайдер - Microsoft.Jet.OLEDB.4.0.
ADOConnection.Mode=cmShareDenyNone.
Запуск, естественно, с полными правами.
В том-то и дело, что не работает на других компах. На других эта ошибка и вылезла, проверил на своем - то же самое...
← →
sniknik © (2010-10-18 08:08) [7]вот из справки "ненаходящейся ошибки"
Попытка использовать устаревший метод OpenQueryDef для запроса, находящегося в базе данных, открытой с доступом только для чтения.
← →
DimonS (2010-10-18 08:10) [8]
> sniknik © (18.10.10 08:05) [5]
База ридонли не стала, в самом Access табличка отлично изменяется.
> "В операции должен использоваться обновляемый запрос"
Именно так и искал. И не только такими словами.
← →
sniknik © (2010-10-18 09:36) [9]> База ридонли не стала, в самом Access табличка отлично изменяется.
> Попытка использовать устаревший метод OpenQueryDef для запроса, находящегося в базе данных, открытой с доступом только для чтения.
> написана еще лет шесть назад.
> Программка написана еще на Д6.
связи не видишь? как вариант, один из возможных.
> Именно так и искал. И не только такими словами.
> "В операции должен использоваться обновляемый запрос" [5]
и только в этой ветке написал
> "В операции должен быть использован обновляемый запрос" [5]
и все одно не нашел.
разницы не видишь? по твоему варианту 2 найденных результата по правильному 895.
кстати
> 3. Установить BDE (установлен изначально).
а это нафига? (и это важно, т.к. если используется парадокс то он может использоваться в режиме ридонли, по умолчанию выбирает если есть BDE то нет, но можно включить режим явно даже при установленном)
← →
DimonS (2010-10-18 09:50) [10]
> sniknik ©
Про BDE я не с потолка же взял, в инете несколько раз этот совет встречал. Но он нужен в любом случае, т. к. используется несколькими программами.
И про 895 результатов я вкурсе, в них же и копался.
Ладно, про устаревший метод встреча, попробую обойти его.
← →
DimonS (2010-10-18 10:17) [11]В общем, вопрос закрыт. Незнаю, что программке не нравилось, просто тупо снес и заново установил ADOConnection создал заново подключение и все заработало, ошибки не выдает.
← →
sniknik © (2010-10-18 11:07) [12]> в инете несколько раз этот совет встречал.
там рядом должно бы быть написано про isam paradox/dbase, которые его используют.
← →
Anatoly Podgoretsky © (2010-10-18 11:22) [13]Вряд ли ошибка в этих двух строка и снос компоненты это доказал.
← →
DimonS (2010-10-19 01:58) [14]
> Вряд ли ошибка в этих двух строка и снос компоненты это
> доказал.
Самое интересное, что даже строку подключения не менял, она при создании формы присваивается. Тупо бросил ADOConnection на форму, обозвал его так же, как снесенный и все. В чем был глюк неизвестно.
← →
Германн © (2010-10-19 02:03) [15]
> В чем был глюк неизвестно.
В 17-й строке - это точно известно. Неизвестно только в каком модуле. :)
← →
DimonS (2010-10-19 02:46) [16]
> В 17-й строке - это точно известно.
Да там всего-то две строки :))
← →
Германн © (2010-10-19 02:53) [17]
> Да там всего-то две строки :))
Во всех модулях, задействованных в проекте?
:)
Ну тогда это супер-проект!
← →
Anatoly Podgoretsky © (2010-10-19 11:12) [18]
> Да там всего-то две строки :))
Не глупи, добавь еще пятнадцать, а то что это за проект, одно горе.
Страницы: 1 вся ветка
Текущий архив: 2011.01.09;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.008 c