Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

Access - как измененить значение поля?   Найти похожие ветки 

 
Максим   (2004-07-30 01:44) [0]

Подскажите, пожалуйста.
Прямо в DBGrid редактирую таблицу базы (Ms Access). Добавляю новую строку, устанавливаю значения полей, сохраняю, все работает. А изменить значения уже существующих строк не могу. Возникает  “Запись не может быть обновлена, так как с момента последнего чтения значения некоторых полей могли быть изменены”. Если редактировать таблицу не непосредственно в DBGrid, а так:
ADOConnection.BeginTrans;
ADOTable.Insert;
ADOTable.Fields[0]:= 1;

ADOTable.Post,

все работает, но при измении значение поля существующей записи  
ADOConnection.BeginTrans;
ADOTable.Edit;
ADOTable.Fields[0]:= 1;
ADOTable.Post, метод Post генерирует ту же ошибку.
(Access 97, ADOConnection.ConnectionString:=  "Provider=Microsoft.Jet.OLEDB.4.0;
Persist Security Info=False; User ID=Admin;Data Source=db.mdb". Не пойму где допускаю ошибку.


 
ЮЮ ©   (2004-07-30 03:59) [1]

В таблице нет первичного ключа, а в записи до редактирования есть NULL-евые поля, поэтому запрос на модификацию и удаление не может найти эту запись в тавлице и считает, что она была уже кем-то изменена


 
OhYoMaFa!   (2004-07-30 14:41) [2]

Вот несколько статей на эту тему:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=408
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=413
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=420
http://www.delphikingdom.com/mastering/ado.htm


 
Leran2003   (2004-07-30 19:59) [3]

CursorLocation=clUseServer и будет тебе счастье :))


 
starcomputer   (2004-07-31 09:38) [4]

Есть или нет ключ по моему безразлично!
Я уже долгое время пытаюсь решить этот вопрос и убедился, что пока не выполнишь close - open новые записи невозможно редактировать!
Так что если у кого-нибудь получиться сообщите плиз!!!

А ссылки на Королевство конечно не плохие, автор статей Shabal, мы с ним обсуждали этот вопрос и на форуме, и в частной переписке, в конце концов он со мной согласился :)


 
sniknik ©   (2004-07-31 10:48) [5]

> Есть или нет ключ по моему безразлично!
да ну?
тогда попробуй SQL запросом удалить 3ю(/любую) позицию в таблице из совершенно одинаковых записей, одинаковых по всем полям.  
а ведь в случае SQL сервером, общение идет именно на языке SQL.
(только без всяких обходных путей типа завести новую таблицу и перекачать туда все -1 запись, это уже признак интелектуального решения, чего нельзя требовать от компонент)
можеш также попробовать изменить 1 запись в ряду одинаковых, только именно одну. если даш решение тогда пожалуй все с тобой согласятся, ключь не нужен.
(аксес не совсем хороший пример конечно, у него есть режим локального доступа, лучше бы было взять "чистый" сервер у которого нет скрытых ключей(/уникальных идентификаторов), но ладно пусть будет аксесс)

> и в частной переписке, в конце концов он со мной согласился :)
наверняка только потому чтобы ты отстал, обьяснять основы упорствуюшим дилетантам часто очень утомительно.



Страницы: 1 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
1-1091781816
dizrov
2004-08-06 12:43
2004.08.22
Рекурсивный поиск


1-1091863065
Миха
2004-08-07 11:17
2004.08.22
Открыть файл с CD-ROMa (read-only)


4-1089734671
Vitalnet
2004-07-13 20:04
2004.08.22
Как переместить созданный фаил в нужный католог


14-1090614306
Piter
2004-07-24 00:25
2004.08.22
Magic Forum beta7 - клиент этого форума:


9-1083521532
Ландграф Павел
2004-05-02 22:12
2004.08.22
управление человеком как в GTA2