|
|
|
Старая песня о "Row cannot be updated"
|
|||
|---|---|---|---|
|
#18+
Обращаюсь к мастерам Акцеса, т.к. база в .mdb (Access XP), а пишется все на Дельфе 7. Все на ADO. Вставляю (программно) в базу запись, потом через секунды редактирую (программно) - выдается ошибка (сабж). Типа "некоторые значения были изменены со времени последнего прочтения". До перехода на ADO такого не было. Мне сказали, что это может быть из-за значений по умолчанию для полей. Убрал. Не помогает. Помогло сделать Refresh для этой таблицы, перед тем как редактировать запись. Тогда ошибка не появляется и все ок. Как сделать без рефреша? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2003, 15:29 |
|
||
|
Старая песня о "Row cannot be updated"
|
|||
|---|---|---|---|
|
#18+
Можно было, конечно, код привести, но я, например, возможно ничего не пойму. Навернека где-то "напортачил" с адо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2003, 15:32 |
|
||
|
Старая песня о "Row cannot be updated"
|
|||
|---|---|---|---|
|
#18+
Возможно что и напортачил, но с BDE все работало ок. А код примерно такой: Код: plaintext 1. 2. Далее, по нажатию юзверем кнопочки: Код: plaintext 1. 2. И вот тут ошибка. При чем изменения проходят - после ошибки данные сохраняются и все ок. Но потом если изменить положение курсора - скажем в Grid'e, опять таже ошибка. И с этой записи курсор не уходит. Так на ней и сидит пока не закроешь таблицу. Код весьма примитивен, я думаю ошибка где-то в настройках компонентов ADO или особенности какие. Не знаю уже к кому обратиться. P.S.: Что мне нравиться в форуме по Access - быстро участники реагируют. Не успеешь написать вопрос - уже отвечают. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2003, 15:45 |
|
||
|
Старая песня о "Row cannot be updated"
|
|||
|---|---|---|---|
|
#18+
Попробуй убрать Table.Post из первого раза, пусть обнавляется запись один раз в конце. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2003, 15:49 |
|
||
|
Старая песня о "Row cannot be updated"
|
|||
|---|---|---|---|
|
#18+
Я забыл сказать, что между первым куском кода и вторым нет связи. Т.е. второй кусок кода выполняется через неопределенное время. Юзер может побегать по записям, поглядеть чё там как у него и т.д. А потом уже нажать кнопочку, чтобы выполнялся второй кусок. Или вообще не нажимать - тут такое дело... ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2003, 16:07 |
|
||
|
Старая песня о "Row cannot be updated"
|
|||
|---|---|---|---|
|
#18+
После вставки записи, нужно ее сохранить, что и делает метод Refresh, после этого можно править. Тогда ошибка блокировки не будет возникать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2003, 16:29 |
|
||
|
Старая песня о "Row cannot be updated"
|
|||
|---|---|---|---|
|
#18+
Я вообще-то думал, что Refresh - это обновление таблицы. Т.е. последние изменения сделанные юзерами становятся видимыми. При чем тут "нужно ее сохранить, что и делает метод Refresh"? Может это так в VB организовано? Хотя странно - слово Refresh имеет значение вполне конкретное в английском языке... Сохранение - это как раз Post. Проблема в том, что ошибка возникает только в одной группе идентичных по логике блоках кода. В другой группе с такой же логикой - нет. Вот в этом-то вся и загвоздка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2003, 17:31 |
|
||
|
Старая песня о "Row cannot be updated"
|
|||
|---|---|---|---|
|
#18+
У тебя происходит что-то с блокировкой, но что - из твоего кода не понятно В данном случае Refresh - это не обновление таблицы, а повторный запрос к таблице, т.е. обновление источника данных RecordSource. Источником данных формы (я понимаю, что... стоп, расскажи подробнее, как : < Вставляю (программно) в базу запись, потом через секунды редактирую (программно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2003, 18:16 |
|
||
|
Старая песня о "Row cannot be updated"
|
|||
|---|---|---|---|
|
#18+
Программно - я имел в виду by code. Т.е. не через Grid юзер редактирует/вставляет записи, а код программы. Что с блокировкой надо мутить - это понятно. Непонятно другое: на код не замыкайся, от него как я установил, не зависит. У меня такая же ошибка появлялась когда я добавлял/редактировал записи в Grid'e просто. Правда Grid не стандартный Delphi, а DevExpress'овский (если это о чем-то говорит). После того как я убрал значения по умолчанию для новых полей - ошибки при прямом редактировании через Grid исчезли, но ошибки при программном изменении таблицы остались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2003, 18:51 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=45&tid=1680015]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 304ms |

| 0 / 0 |
